diff --git a/InvenTree/locale/bg/LC_MESSAGES/django.po b/InvenTree/locale/bg/LC_MESSAGES/django.po
index 6fae10b78cd7..923f43c14eb8 100644
--- a/InvenTree/locale/bg/LC_MESSAGES/django.po
+++ b/InvenTree/locale/bg/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -54,7 +54,7 @@ msgstr "Въведи дата"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Въведеният домейн на електронната поща
msgid "Registration is disabled."
msgstr "Регистрацията е деактивирана."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Въведена е недопустима стойност"
@@ -264,9 +264,9 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Потребител"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr ""
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -710,7 +710,7 @@ msgstr "Върнат"
msgid "In Progress"
msgstr "Изпълнява се"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr ""
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr "Място в склада"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Места в склада"
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr ""
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index 6b86d0e4998c..e1851a2a9bee 100644
--- a/InvenTree/locale/cs/LC_MESSAGES/django.po
+++ b/InvenTree/locale/cs/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -54,7 +54,7 @@ msgstr "Zadejte datum"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Zadaná e-mailová doména není povolena."
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Vyplněno neplatné množství"
@@ -264,9 +264,9 @@ msgstr "Příloha"
msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Komentář"
msgid "File comment"
msgstr "Komentář k souboru"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Uživatel"
@@ -342,8 +342,8 @@ msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem"
msgid "Invalid choice"
msgstr "Neplatný výběr"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Název"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Chyba serveru"
msgid "An error has been logged by the server."
msgstr "Server zaznamenal chybu."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Měna"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Vyberte měnu z dostupných možností"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Název souboru"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Neplatná hodnota"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Datový soubor"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Vyberte datový soubor k nahrání"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Nepodporovaný typ souboru"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Soubor je příliš velký"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "V souboru nebyly nalezeny žádné sloupce"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "V souboru nebyly nalezeny žádné řádky s daty"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Nebyly zadány žádné řádky s daty"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Nebyly zadány žádné sloupce s daty"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Chybí povinný sloupec: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicitní sloupec: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL souboru vzdáleného obrázku"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Stahování obrázků ze vzdálené URL není povoleno"
@@ -710,7 +710,7 @@ msgstr "Vráceno"
msgid "In Progress"
msgstr "Zpracovává se"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Vytvořit objednávku"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Vytvořené objednávky"
@@ -991,8 +991,8 @@ msgstr "Neplatná volba nadřazeného sestavení"
msgid "Build Order Reference"
msgstr "Referenční číslo objednávky"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Cílové datum dokončení"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Datum dokončení"
@@ -1229,37 +1229,37 @@ msgstr "Příkaz k sestavení {build} byl dokončen"
msgid "A build order has been completed"
msgstr "Příkaz k sestavení byl dokončen"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Nebyl specifikováno žádný výstup sestavení"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Výstup sestavení je již dokončen"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Výstup sestavení neodpovídá příkazu sestavení"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Množství musí být vyšší než nula"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "Množství nemůže být větší než výstupní množství"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Skladová položka je nadměrně zabrána"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Zabrané množství musí být větší než nula"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Množství musí být 1 pro zřetězený sklad"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Formát data"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Cena"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "Id"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr "Obrazek"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Stáhnout obrázek z URL"
msgid "Delete image"
msgstr "Smazat obrázek"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Dodavatelský sklad"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Zakoupené objednávky"
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "Činnost nebyla specifikována"
msgid "No matching action found"
msgstr "Nebyla nalezena odpovídající činnost"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Pro data čárového kódu nebyla nalezena shoda"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Pro data čárového kódu byla nalezena shoda"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Odstranit"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr "Domovská stránka"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Potvrdit"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr "Oprávnění"
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Nastavení oprávnění"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Skupina"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Zobrazit"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Oprávnění k zobrazení položek"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Oprávnění přidat položky"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Změnit"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Oprávnění k úpravě položek"
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr "Oprávnění k odstranění položek"
diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po
index 7c81a40e58c6..13b80180d674 100644
--- a/InvenTree/locale/da/LC_MESSAGES/django.po
+++ b/InvenTree/locale/da/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -54,7 +54,7 @@ msgstr "Angiv dato"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Det angivne e-mail domæne er ikke godkendt."
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Ugyldigt antal angivet"
@@ -264,9 +264,9 @@ msgstr "Vedhæftning"
msgid "Select file to attach"
msgstr "Vælg fil, der skal vedhæftes"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Bruger"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "Ugyldigt valg"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Navn"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Serverfejl"
msgid "An error has been logged by the server."
msgstr "En fejl blev logget af serveren."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Skal være et gyldigt tal"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Filnavn"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Ugyldig værdi"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Vælg datafilen til upload"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Filtype ikke understøttet"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Filen er for stor"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Ingen kolonner fundet i fil"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Ingen datarækker fundet i fil"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Ingen data-rækker angivet"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Ingen data-kolonner angivet"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Mangler påkrævet kolonne: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikeret kolonne: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL til ekstern billedfil"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
@@ -710,7 +710,7 @@ msgstr "Returneret"
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Produktionsordre"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Produktionsordrer"
@@ -991,8 +991,8 @@ msgstr "Ugyldigt valg for overordnet produktion"
msgid "Build Order Reference"
msgstr "Produktionsordre reference"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Produktionsordre som er tildelt denne produktion"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Projekteret afslutningsdato"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Dato for afslutning"
@@ -1229,37 +1229,37 @@ msgstr "Bygningsordre {build} er fuldført"
msgid "A build order has been completed"
msgstr "En byggeordre er fuldført"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr ""
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 b825d2f98173..d8340508c16c 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-18 23:07\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -54,7 +54,7 @@ msgstr "Datum eingeben"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben."
msgid "Registration is disabled."
msgstr "Registrierung ist deaktiviert."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
@@ -264,9 +264,9 @@ msgstr "Anhang"
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Benutzer"
@@ -342,8 +342,8 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren"
msgid "Invalid choice"
msgstr "Ungültige Auswahl"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Name"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,106 +444,107 @@ msgstr "Serverfehler"
msgid "An error has been logged by the server."
msgstr "Ein Fehler wurde vom Server protokolliert."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Währung"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Währung aus verfügbaren Optionen auswählen"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
-msgstr ""
+msgstr "Sie haben keine Berechtigung, diese Benutzerrolle zu ändern."
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
-msgstr ""
+msgstr "Nur Superuser können neue Benutzer erstellen"
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
-msgstr ""
+msgstr "Willkommen bei {current_site.name}"
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
-msgstr ""
+msgstr "Ihr Konto wurde erstellt.\n\n"
+"Bitte verwenden Sie die Passwort-Zurücksetzen-Funktion, um Zugriff zu erhalten (https://{domain})."
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Dateiname"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Ungültiger Wert"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Datendatei"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Neue Datei zum Hochladen auswählen"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Nicht unterstütztes Dateiformat"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Datei ist zu groß"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Keine Spalten in der Datei gefunden"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Keine Datensätze in der Datei gefunden"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Keine Zeilen ausgewählt"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Keine Spalten angegeben"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Erforderliche Spalte '{name}' fehlt"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Doppelte Spalte: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL der Remote-Bilddatei"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
#: InvenTree/settings.py:819
msgid "Bulgarian"
-msgstr ""
+msgstr "Bulgarisch"
#: InvenTree/settings.py:820
msgid "Czech"
@@ -710,7 +711,7 @@ msgstr "Zurückgegeben"
msgid "In Progress"
msgstr "In Bearbeitung"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +976,7 @@ msgstr "Bauauftrag"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Bauaufträge"
@@ -991,8 +992,8 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag"
msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1023,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1151,7 @@ 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:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
@@ -1229,37 +1230,37 @@ msgstr "Bauauftrag {build} wurde fertiggestellt"
msgid "A build order has been completed"
msgstr "Ein Bauauftrag wurde fertiggestellt"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "kein Endprodukt angegeben"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Endprodukt bereits hergstellt"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "Menge kann nicht größer als die Ausgangsmenge sein"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Objekt bauen"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1304,36 @@ msgstr "Objekt bauen"
msgid "Quantity"
msgstr "Anzahl"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Erforderliche Menge für Auftrag"
-#: build/models.py:1361
+#: build/models.py:1369
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:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Reserviermenge muss größer null sein"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1350,19 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein"
msgid "Stock Item"
msgstr "Lagerartikel"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Quell-Lagerartikel"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Installiere in"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Ziel-Lagerartikel"
@@ -1416,7 +1417,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:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig"
@@ -1465,8 +1466,8 @@ msgid "Location for completed build outputs"
msgstr "Lagerort für fertige Endprodukte"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1557,7 +1558,7 @@ msgstr "Bauauftrag hat unvollständige Aufbauten"
#: build/serializers.py:718
msgid "Build Line"
-msgstr ""
+msgstr "Bauauftragsposition"
#: build/serializers.py:728
msgid "Build output"
@@ -1569,7 +1570,7 @@ msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen"
#: build/serializers.py:772
msgid "Build Line Item"
-msgstr ""
+msgstr "Bauauftragspositionsartikel"
#: build/serializers.py:786
msgid "bom_item.part must point to the same part as the build order"
@@ -1758,7 +1759,7 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1796,8 @@ msgid "Completed Outputs"
msgstr "Fertiggestellte Endprodukte"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1847,7 @@ 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:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Ziel-Lager"
@@ -1980,7 +1981,7 @@ msgstr "Zuordnung abgeschlossen"
#: build/templates/build/detail.html:423
msgid "All lines have been fully allocated"
-msgstr ""
+msgstr "Alle Zeilen wurden vollständig zugewiesen"
#: build/templates/build/index.html:18 part/templates/part/detail.html:319
msgid "New Build Order"
@@ -2099,11 +2100,11 @@ msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erforde
#: common/models.py:1076
msgid "Pending migrations"
-msgstr ""
+msgstr "Ausstehende Migrationen"
#: common/models.py:1077
msgid "Number of pending database migrations"
-msgstr ""
+msgstr "Anzahl der ausstehenden Datenbankmigrationen"
#: common/models.py:1083
msgid "Server Instance Name"
@@ -2159,7 +2160,7 @@ msgstr "Währungsaktualisierungsintervall"
#: common/models.py:1127
msgid "How often to update exchange rates (set to zero to disable)"
-msgstr ""
+msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivieren setzen)"
#: common/models.py:1129 common/models.py:1193 common/models.py:1211
#: common/models.py:1218 common/models.py:1229 common/models.py:1240
@@ -2170,11 +2171,11 @@ msgstr "Tage"
#: common/models.py:1137
msgid "Currency Update Plugin"
-msgstr ""
+msgstr "Währungs-Aktualisierungs-Plugin"
#: common/models.py:1138
msgid "Currency update plugin to use"
-msgstr ""
+msgstr "Zu verwendendes Währungs-Aktualisierungs-Plugin"
#: common/models.py:1144
msgid "Download from URL"
@@ -2270,7 +2271,7 @@ msgstr "Bacode-Feature verwenden"
#: common/models.py:1249
msgid "Enable barcode scanner support in the web interface"
-msgstr ""
+msgstr "Barcode-Scanner Unterstützung im Webinterface aktivieren"
#: common/models.py:1255
msgid "Barcode Input Delay"
@@ -2958,558 +2959,566 @@ msgstr "Löschintervall für Berichte"
msgid "Stocktake reports will be deleted after specified number of days"
msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr "Vollständige Namen von Benutzern anzeigen"
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen"
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "Inaktive Teile ausblenden"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen"
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Abonnierte Teile anzeigen"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Zeige abonnierte Teile auf der Startseite"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Abonnierte Kategorien anzeigen"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Zeige abonnierte Teilkategorien auf der Startseite"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Neueste Teile anzeigen"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Zeige neueste Teile auf der Startseite"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Nicht validierte Stücklisten anzeigen"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Neueste Bestandänderungen anzeigen"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Niedrigen Bestand anzeigen"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Zeige geringen Bestand auf der Startseite"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Lerren Bestand anzeigen"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Benötigten Bestand anzeigen"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Zeige Bestand für Bauaufträge auf der Startseite"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Abgelaufenen Bestand anzeigen"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Zeige abgelaufene Lagerbestände auf der Startseite"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Alten Bestand anzeigen"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Zeige überfällige Lagerartikel auf der Startseite"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Ausstehende Bauaufträge anzeigen"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Zeige ausstehende Bauaufträge auf der Startseite"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Zeige überfällige Bauaufträge"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Zeige überfällige Bauaufträge auf der Startseite"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Ausstehende POs anzeigen"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Zeige ausstehende POs auf der Startseite"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Überfällige POs anzeigen"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Zeige überfällige POs auf der Startseite"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Ausstehende SOs anzeigen"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Zeige ausstehende SOs auf der Startseite"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Überfällige SOs anzeigen"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr "Zeige überfällige SOs auf der Startseite"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr "Ausstehende Versandaufträge anzeigen"
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen"
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Zeige Neuigkeiten"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Neuigkeiten auf der Startseite anzeigen"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Label inline anzeigen"
-#: common/models.py:2059
+#: common/models.py:2065
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:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Standard-Etikettendrucker"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Berichte inline anzeigen"
-#: common/models.py:2073
+#: common/models.py:2079
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:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Teile suchen"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr "Teile in der Suchvorschau anzeigen"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr "Zulieferteile durchsuchen"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr "Zuliefererteile in der Suchvorschau anzeigen"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Herstellerteile durchsuchen"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr "Herstellerteile in der Suchvorschau anzeigen"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Inaktive Teile ausblenden"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr "Inaktive Teile in der Suchvorschau ausblenden"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Kategorien durchsuchen"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr "Teilekategorien in der Suchvorschau anzeigen"
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Bestand durchsuchen"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr "Lagerartikel in Suchvorschau anzeigen"
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr "Nicht verfügbare Artikel ausblenden"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Lagerorte durchsuchen"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Lagerorte in Suchvorschau anzeigen"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Firmen durchsuchen"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Firmen in der Suchvorschau anzeigen"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Bauaufträge durchsuchen"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Bauaufträge in der Suchvorschau anzeigen"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Bestellungen durchsuchen"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr "Bestellungen in der Suchvorschau anzeigen"
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr "Inaktive Bestellungen ausblenden"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Aufträge durchsuchen"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr "Aufträge in der Suchvorschau anzeigen"
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr "Inaktive Aufträge ausblenden"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inaktive Aufträge in der Suchvorschau ausblenden"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Suche nach Rücksendungen"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr "Rücksendungen in der Suchvorschau anzeigen"
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr "Inaktive Rücksendungen ausblenden"
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden"
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Anzahl Suchergebnisse"
-#: common/models.py:2192
+#: common/models.py:2198
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:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Regex Suche"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren"
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr "Ganzes Wort suchen"
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen"
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "Esc-Taste schließt Formulare"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr "Benutze die Esc-Taste, um Formulare zu schließen"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Fixierter Navigationsleiste"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Datumsformat"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Bevorzugtes Format für die Anzeige von Daten"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Teilzeitplanung"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr "Zeige Zeitplanung für Teile"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Inventur"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)"
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr "Zeichenkettenlänge in Tabellen"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr "Standardvorlage für Teilebeschriftung"
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
-msgstr ""
+msgstr "Die Teil-Etikettenvorlage, die automatisch ausgewählt werden soll"
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr "Lagerartikel-Standardvorlage"
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden"
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
-msgstr ""
+msgstr "Standardetikettenvorlage für Lagerstandort"
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
-msgstr ""
+msgstr "Die Lagerstandort-Etikettenvorlage, die automatisch ausgewählt werden soll"
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
-msgstr ""
+msgstr "Fehlerberichte empfangen"
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
-msgstr ""
+msgstr "Benachrichtigungen bei Systemfehlern erhalten"
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Preis"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr "Endpunkt"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "Ist dieser Webhook aktiv"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Token"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Token für Zugang"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Geheimnis"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Shared Secret für HMAC"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "Nachrichten-ID"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Eindeutige Kennung für diese Nachricht"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Host"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Host von dem diese Nachricht empfangen wurde"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Kopfzeile"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Header dieser Nachricht"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Body"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Body dieser Nachricht"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr "Endpunkt, über den diese Nachricht empfangen wurde"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr "Bearbeitet"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "ID"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Titel"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Veröffentlicht"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Autor"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Zusammenfassung"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr "Gelesen"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr "Wurde diese Nachricht gelesen?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3528,31 @@ msgstr "Wurde diese Nachricht gelesen?"
msgid "Image"
msgstr "Bild"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr "Bilddatei"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr "Einheitsname muss eine gültige Kennung sein"
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr "Einheitsname"
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr "Symbol"
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr "Optionales Einheitssymbol"
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr "Definition"
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr "Einheitsdefinition"
@@ -3556,19 +3565,28 @@ msgstr "Neue {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr "Eine neue Bestellung wurde erstellt und Ihnen zugewiesen"
-#: common/notifications.py:298 common/notifications.py:305
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr "{verbose_name} storniert"
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert"
+
+#: common/notifications.py:306 common/notifications.py:313
msgid "Items Received"
msgstr "Artikel erhalten"
-#: common/notifications.py:300
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Artikel wurden aus einer Bestellung erhalten"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr "Artikel wurden aus einer Rücksendung erhalten"
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr "Fehler in Plugin aufgetreten"
@@ -3876,9 +3894,9 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4059,8 @@ msgstr "Bild von URL herunterladen"
msgid "Delete image"
msgstr "Bild löschen"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4157,7 @@ msgstr "Zulieferer-Bestand"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Bestellungen"
@@ -4162,7 +4180,7 @@ msgstr "Neue Bestellung"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Aufträge"
@@ -4187,7 +4205,7 @@ msgstr "Zugeordneter Bestand"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr "Rücksendeaufträge"
@@ -4403,7 +4421,7 @@ msgstr "Teilverfügbarkeit aktualisieren"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Lagerartikel"
@@ -4521,7 +4539,7 @@ msgstr "Gesamtpreis"
msgid "No matching purchase order found"
msgstr "Keine passende Bestellung gefunden"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4553,7 @@ msgstr "Keine passende Bestellung gefunden"
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4590,7 @@ msgstr "Auftragsbeschreibung (optional)"
msgid "Select project code for this order"
msgstr "Projektcode für diesen Auftrag auswählen"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Link auf externe Seite"
@@ -4596,11 +4614,11 @@ msgstr "Ansprechpartner für diesen Auftrag"
msgid "Company address for this order"
msgstr "Firmenadresse für diesen Auftrag"
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Bestell-Referenz"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Bestellungs-Status"
@@ -4621,15 +4639,15 @@ msgstr "Zulieferer Bestellreferenz"
msgid "received by"
msgstr "Empfangen von"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Aufgabedatum"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Datum an dem die Bestellung aufgegeben wurde"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "Datum an dem der Auftrag fertigstellt wurde"
@@ -4637,99 +4655,99 @@ msgstr "Datum an dem der Auftrag fertigstellt wurde"
msgid "Part supplier must match PO supplier"
msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen"
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "Anzahl muss eine positive Zahl sein"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Firma an die die Teile verkauft werden"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Kundenreferenz"
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr "Bestellreferenz"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Versanddatum"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "Versand von"
-#: order/models.py:860
+#: order/models.py:868
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:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
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:870
+#: order/models.py:878
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:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Anzahl"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr "Position - Referenz"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr "Position - Notizen"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)"
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
-msgstr ""
+msgstr "Positionsbeschreibung (optional)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Kontext"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "Zusätzlicher Kontext für diese Zeile"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Stückpreis"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr "Lieferantenteil muss mit Lieferant übereinstimmen"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "gelöscht"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Bestellung"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Zuliefererteil"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4757,185 @@ msgstr "Zuliefererteil"
msgid "Received"
msgstr "Empfangen"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Preis"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Preis pro Einheit"
-#: order/models.py:1223
+#: order/models.py:1239
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:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Verkaufspreis"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Stückverkaufspreis"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Versendete Menge"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Versanddatum"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr "Lieferdatum"
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr "Versanddatum"
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Kontrolliert von"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Benutzer, der diese Sendung kontrolliert hat"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Sendung"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Sendungsnummer"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Sendungsverfolgungsnummer"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Informationen zur Sendungsverfolgung"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Rechnungsnummer"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Referenznummer für zugehörige Rechnung"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "Sendung wurde bereits versandt"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "Sendung hat keine zugewiesene Lagerartikel"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "Lagerartikel wurde nicht zugewiesen"
-#: order/models.py:1591
+#: order/models.py:1607
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:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr "Auftrag gehört nicht zu Sendung"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr "Sendung gehört nicht zu Auftrag"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Position"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr "Sendungsnummer-Referenz"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Position"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr "Lagerartikel für Zuordnung auswählen"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
-msgstr ""
+msgstr "Rücksendungsreferenz"
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
-msgstr ""
+msgstr "Firma von der die Artikel zurückgeschickt werden"
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
-msgstr ""
+msgstr "Status der Rücksendung"
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
-msgstr ""
+msgstr "Nur serialisierte Artikel können einer Rücksendung zugeordnet werden"
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
-msgstr ""
+msgstr "Artikel zur Rücksendung auswählen"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr "Empfangsdatum"
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
-msgstr ""
+msgstr "Das Datum des Empfangs dieses Rücksendeartikels"
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -4983,7 +5001,7 @@ msgstr "Barcode"
#: order/serializers.py:539
msgid "Scanned barcode"
-msgstr ""
+msgstr "Gescannter Barcode"
#: order/serializers.py:555
msgid "Barcode is already in use"
@@ -5186,7 +5204,7 @@ msgstr "Gesamtkosten konnten nicht berechnet werden"
#: order/templates/order/order_base.html:318
msgid "Purchase Order QR Code"
-msgstr ""
+msgstr "Bestellung QR Code"
#: order/templates/order/order_base.html:330
msgid "Link Barcode to Purchase Order"
@@ -5319,7 +5337,7 @@ msgstr "Position hinzufügen"
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
-msgstr ""
+msgstr "Erhaltene Positionen"
#: order/templates/order/purchase_order_detail.html:50
#: order/templates/order/return_order_detail.html:45
@@ -5346,11 +5364,11 @@ msgstr "Notizen zur Bestellung"
#: order/templates/order/return_order_base.html:18
#: order/templates/order/sales_order_base.html:18
msgid "Customer logo thumbnail"
-msgstr ""
+msgstr "Kundenlogo Miniaturansicht"
#: order/templates/order/return_order_base.html:60
msgid "Print return order report"
-msgstr ""
+msgstr "Rücksendungsbericht drucken"
#: order/templates/order/return_order_base.html:64
#: order/templates/order/sales_order_base.html:64
@@ -5379,15 +5397,15 @@ msgstr "Gesamtkosten"
#: order/templates/order/return_order_base.html:263
msgid "Return Order QR Code"
-msgstr ""
+msgstr "Rücksendung QR-Code"
#: order/templates/order/return_order_base.html:275
msgid "Link Barcode to Return Order"
-msgstr ""
+msgstr "Barcode mit Rücksendung verknüpfen"
#: order/templates/order/return_order_sidebar.html:5
msgid "Order Details"
-msgstr ""
+msgstr "Bestelldetails"
#: order/templates/order/sales_order_base.html:60
msgid "Print sales order report"
@@ -5396,7 +5414,7 @@ msgstr "Verkaufsauftragsbericht drucken"
#: order/templates/order/sales_order_base.html:88
#: order/templates/order/sales_order_base.html:89
msgid "Ship Items"
-msgstr ""
+msgstr "Versandartikel"
#: order/templates/order/sales_order_base.html:92
#: templates/js/translated/sales_order.js:484
@@ -5415,11 +5433,11 @@ msgstr "Abgeschlossene Sendungen"
#: order/templates/order/sales_order_base.html:312
msgid "Sales Order QR Code"
-msgstr ""
+msgstr "Verkaufsauftrag QR-Code"
#: order/templates/order/sales_order_base.html:324
msgid "Link Barcode to Sales Order"
-msgstr ""
+msgstr "Barcode mit Bestellung verknüpfen"
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
@@ -5567,7 +5585,7 @@ msgstr "Pfad zur Kategorie"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Teile"
@@ -5650,7 +5668,7 @@ msgstr "Teil-Kategorie"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Teil-Kategorien"
@@ -6332,7 +6350,7 @@ msgstr "Kaufwährung dieses Lagerartikels"
#: part/serializers.py:346
msgid "No parts selected"
-msgstr ""
+msgstr "Keine Teile ausgewählt"
#: part/serializers.py:354
msgid "Select category"
@@ -6469,11 +6487,11 @@ msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten L
#: part/serializers.py:978
msgid "Exclude External Stock"
-msgstr ""
+msgstr "Externen Bestand ausschließen"
#: part/serializers.py:979
msgid "Exclude stock items in external locations"
-msgstr ""
+msgstr "Lagerartikel an externen Orten ausschließen"
#: part/serializers.py:984
msgid "Generate Report"
@@ -6735,7 +6753,7 @@ msgstr "Inventurinformationen hinzufügen"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr "Inventur"
@@ -6964,7 +6982,7 @@ msgstr "Teil kann an Kunden verkauft werden"
#: part/templates/part/part_base.html:145
msgid "Part is not active"
-msgstr ""
+msgstr "Teil ist nicht aktiv"
#: part/templates/part/part_base.html:146
#: templates/js/translated/company.js:1277
@@ -7027,7 +7045,7 @@ msgstr "Barcode mit Teil verknüpfen"
#: part/templates/part/part_base.html:472 templates/js/translated/part.js:2285
msgid "part"
-msgstr ""
+msgstr "Teil"
#: part/templates/part/part_base.html:512
msgid "Calculate"
@@ -7249,7 +7267,7 @@ msgstr "Neue Teilevariante anlegen"
#: part/templates/part/variant_part.html:10
msgid "Create a new variant part from this template"
-msgstr ""
+msgstr "Ein neues Variantenteil aus dieser Vorlage erstellen"
#: part/templatetags/inventree_extras.py:185
msgid "Unknown database"
@@ -7292,74 +7310,74 @@ msgstr "Keine Aktion angegeben"
msgid "No matching action found"
msgstr "Keine passende Aktion gefunden"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr "Fehlende Barcode-Daten"
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Keine Treffer für Barcode"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Treffer für Barcode gefunden"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr "Barcode entspricht einem bereits vorhandenen Artikel"
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr "Kein Treffer für angegebenen Wert gefunden"
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
-msgstr ""
+msgstr "Ungültige Bestellung"
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr "Ungültiger Lagerort"
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr "Artikel wurde bereits erhalten"
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr "Labeldruck fehlgeschlagen"
@@ -7377,8 +7395,8 @@ msgstr "Bietet native Unterstützung für Barcodes"
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr "InvenTree Mitwirkende"
@@ -7480,51 +7498,51 @@ msgstr "Label ist zu groß für Seitengröße"
msgid "No labels were generated"
msgstr "Es wurden keine Etiketten generiert"
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr "Unterstützt das Scannen von DigiKey-Barcodes"
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr "Unterstützt das Scannen von LCSC-Barcodes"
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr "Lieferantenintegration - Mouser"
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr "Unterstützt das Scannen von Mouser-Barcodes"
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr "Lieferantenintegration - TME"
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr "Unterstützt das Scannen von TME-Barcodes"
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7571,7 @@ msgstr "Plugin-Konfiguration"
msgid "Plugin Configurations"
msgstr "Plugin-Konfigurationen"
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Schlüssel"
@@ -7998,7 +8016,7 @@ msgstr "Löschen wenn leer"
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr "Ablaufdatum"
@@ -8006,23 +8024,23 @@ msgstr "Ablaufdatum"
msgid "External Location"
msgstr "Externer Standort"
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr "Menge ist erforderlich"
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr "Gültiges Teil muss angegeben werden"
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr "Der angegebene Lieferantenartikel existiert nicht"
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden"
@@ -8046,7 +8064,7 @@ msgstr "Bestand-Lagerort"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Bestand-Lagerorte"
@@ -8682,7 +8700,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "abgelaufen"
@@ -9319,9 +9337,9 @@ msgid "Edit"
msgstr "Bearbeiten"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Löschen"
@@ -9425,7 +9443,7 @@ msgid "Home Page"
msgstr "Startseite"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9791,7 @@ msgstr "E-Mail-Adresse bestätigen"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Bitte bestätigen Sie, dass %(email)s eine E-Mail-Adresse für den Benutzer %(user_display)s ist."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Bestätigen"
@@ -9974,6 +9992,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10648,7 +10667,7 @@ msgstr "Keine aktiven Endprodukte gefunden"
#: templates/js/translated/build.js:1377
msgid "Allocated Lines"
-msgstr ""
+msgstr "Zugewiesene Positionen"
#: templates/js/translated/build.js:1391
msgid "Required Tests"
@@ -10726,7 +10745,7 @@ msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -10768,15 +10787,15 @@ msgstr "Zuordnung entfernen"
#: templates/js/translated/build.js:2446
msgid "build line"
-msgstr ""
+msgstr "Bauauftragsposition"
#: templates/js/translated/build.js:2447
msgid "build lines"
-msgstr ""
+msgstr "Bauauftragspositionen"
#: templates/js/translated/build.js:2465
msgid "No build lines found"
-msgstr ""
+msgstr "Keine Bauauftragspositionen gefunden"
#: templates/js/translated/build.js:2495 templates/js/translated/part.js:790
#: templates/js/translated/part.js:1202
@@ -11127,40 +11146,40 @@ msgstr "Löschvorgang nicht erlaubt"
msgid "View operation not allowed"
msgstr "Anzeigevorgang nicht erlaubt"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr "Dieses Formular offen lassen"
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Gib eine gültige Nummer ein"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Fehler in Formular"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "Keine Ergebnisse gefunden"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr "Suche"
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr "Eingabe leeren"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr "Dateispalte"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr "Feldname"
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr "Spalten auswählen"
@@ -11212,27 +11231,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr "Label an den Drucker gesendet"
@@ -11331,7 +11350,7 @@ msgstr "Benachrichtigungen erscheinen hier"
#: templates/js/translated/order.js:89
msgid "Add Extra Line Item"
-msgstr ""
+msgstr "Zusatzposition hinzufügen"
#: templates/js/translated/order.js:126
msgid "Export Order"
@@ -12493,7 +12512,7 @@ msgstr "Entfernen"
msgid "Add Stock"
msgstr "Bestand hinzufügen"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr "Hinzufügen"
@@ -13132,7 +13151,7 @@ msgstr "Benachrichtigungen anzeigen"
msgid "New Notifications"
msgstr "Neue Benachrichtigungen"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr "Admin"
@@ -13327,7 +13346,7 @@ msgstr "Berechtigungen"
msgid "Important dates"
msgstr "wichtige Daten"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13335,67 +13354,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
-msgstr ""
+msgstr "Tokenname"
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
-msgstr ""
+msgstr "Benutzerdefinierter Tokenname"
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Berechtigung geändert"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Ansicht"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Berechtigung Einträge anzuzeigen"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Berechtigung Einträge zu erstellen"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Ändern"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Berechtigungen Einträge zu ändern"
-#: users/models.py:393
+#: users/models.py:410
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 f5e4f3642b3f..6ec6194b6c2c 100644
--- a/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -54,7 +54,7 @@ msgstr "Εισάγετε ημερομηνία"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυ
msgid "Registration is disabled."
msgstr "Η εγγραφή είναι απενεργοποιημένη."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Μη έγκυρη ποσότητα"
@@ -264,9 +264,9 @@ msgstr "Συνημμένο"
msgid "Select file to attach"
msgstr "Επιλέξτε αρχείο για επισύναψη"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Σχόλιο"
msgid "File comment"
msgstr "Σχόλιο αρχείου"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Χρήστης"
@@ -342,8 +342,8 @@ msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχ
msgid "Invalid choice"
msgstr "Μη έγκυρη επιλογή"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Όνομα"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Σφάλμα διακομιστή"
msgid "An error has been logged by the server."
msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Νόμισμα"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Όνομα αρχείου"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Μη έγκυρη τιμή"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Αρχείο Δεδομένων"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Επιλέξτε ένα αρχείο για ανέβασμα"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Μη υποστηριζόμενος τύπος αρχείου"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Το αρχείο είναι πολύ μεγάλο"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Δεν βρέθηκαν στήλες στο αρχείο"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Δεν παρασχέθηκαν σειρές δεδομένων"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Δεν δόθηκαν στήλες δεδομένων"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Λείπει απαιτούμενη στήλη: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Διπλή στήλη: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
@@ -710,7 +710,7 @@ msgstr "Επιστράφηκε"
msgid "In Progress"
msgstr "Σε Εξέλιξη"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Σειρά Κατασκευής"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Δημιουργία Παραγγελιών"
@@ -991,8 +991,8 @@ msgstr "Μη έγκυρη επιλογή για γονική κατασκευή"
msgid "Build Order Reference"
msgstr "Αναφορά Παραγγελίας Κατασκευής"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Ημερομηνία ολοκλήρωσης"
@@ -1229,37 +1229,37 @@ msgstr "Η παραγγελία κατασκευής {build} έχει ολοκλ
msgid "A build order has been completed"
msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Δεν καθορίστηκε έξοδος κατασκευής"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "Ποσότητα"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "Στοιχείο Αποθέματος"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Στοιχείο πηγαίου αποθέματος"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Εγκατάσταση σε"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Αποθήκη προορισμού"
@@ -1416,7 +1416,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών"
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr ""
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 e800bec0a31b..dcbdf6c71f66 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-13 12:13+0000\n"
+"POT-Creation-Date: 2023-11-15 12:36+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -55,7 +55,7 @@ msgstr ""
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -128,7 +128,7 @@ msgstr ""
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -369,7 +369,7 @@ msgstr ""
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -445,35 +445,35 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:61 part/models.py:3904
+#: InvenTree/serializers.py:60 part/models.py:3904
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:90 company/models.py:150
+#: InvenTree/serializers.py:89 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:93
+#: InvenTree/serializers.py:92
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:427
+#: InvenTree/serializers.py:339
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:437
+#: InvenTree/serializers.py:349
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:454
+#: InvenTree/serializers.py:366
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:455
+#: InvenTree/serializers.py:367
#, python-brace-format
msgid ""
"Your account has been created.\n"
@@ -481,66 +481,66 @@ msgid ""
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:519
+#: InvenTree/serializers.py:431
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:556
+#: InvenTree/serializers.py:468
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:490
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:579
+#: InvenTree/serializers.py:491
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:600
+#: InvenTree/serializers.py:512
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:518
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:627
+#: InvenTree/serializers.py:539
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:630
+#: InvenTree/serializers.py:542
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:753
+#: InvenTree/serializers.py:665
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:756
+#: InvenTree/serializers.py:668
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:833
+#: InvenTree/serializers.py:745
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:842
+#: InvenTree/serializers.py:754
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:867
+#: InvenTree/serializers.py:779
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:868
+#: InvenTree/serializers.py:780
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:881
+#: InvenTree/serializers.py:793
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -713,7 +713,7 @@ msgstr ""
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -994,8 +994,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1025,7 +1025,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1153,7 +1153,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1232,37 +1232,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1306,36 +1306,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1352,19 +1352,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1419,7 +1419,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1468,8 +1468,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1761,7 +1761,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1798,8 +1798,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1849,7 +1849,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -3386,7 +3386,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
@@ -3559,19 +3559,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3879,9 +3888,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4044,8 +4053,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4524,7 +4533,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4538,7 +4547,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4575,7 +4584,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4599,11 +4608,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4624,15 +4633,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4640,99 +4649,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4742,185 +4751,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -7295,74 +7304,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7380,8 +7389,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7483,51 +7492,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7706,19 +7715,19 @@ msgstr ""
msgid "Test report"
msgstr ""
-#: report/helpers.py:13
+#: report/helpers.py:15
msgid "A4"
msgstr ""
-#: report/helpers.py:14
+#: report/helpers.py:16
msgid "A3"
msgstr ""
-#: report/helpers.py:15
+#: report/helpers.py:17
msgid "Legal"
msgstr ""
-#: report/helpers.py:16
+#: report/helpers.py:18
msgid "Letter"
msgstr ""
@@ -7921,6 +7930,22 @@ msgstr ""
msgid "Serial"
msgstr ""
+#: report/templatetags/report.py:95
+msgid "Asset file does not exist"
+msgstr ""
+
+#: report/templatetags/report.py:144 report/templatetags/report.py:209
+msgid "Image file not found"
+msgstr ""
+
+#: report/templatetags/report.py:230
+msgid "part_image tag requires a Part instance"
+msgstr ""
+
+#: report/templatetags/report.py:269
+msgid "company_image tag requires a Company instance"
+msgstr ""
+
#: stock/admin.py:40 stock/admin.py:126
msgid "Location ID"
msgstr ""
@@ -7993,23 +8018,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -9306,7 +9331,7 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
#: templates/js/translated/stock.js:245 users/models.py:393
msgid "Delete"
@@ -9412,7 +9437,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9760,7 +9785,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
msgid "Confirm"
msgstr ""
@@ -9961,6 +9986,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10713,7 +10739,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159
+#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11114,40 +11140,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:788
+#: templates/js/translated/forms.js:772
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:891
+#: templates/js/translated/forms.js:874
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1461 templates/modals.html:19
+#: templates/js/translated/forms.js:1422 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1959
+#: templates/js/translated/forms.js:1876
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2477
+#: templates/js/translated/forms.js:2394
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:3075
+#: templates/js/translated/forms.js:2863
msgid "Select Columns"
msgstr ""
@@ -11199,27 +11225,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:149
+#: templates/js/translated/label.js:144
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:155
+#: templates/js/translated/label.js:150
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:168
+#: templates/js/translated/label.js:163
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:187
+#: templates/js/translated/label.js:182
msgid "Labels sent to printer"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 8d7c59deae32..b19c389536c7 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Language: es_MX\n"
@@ -54,7 +54,7 @@ msgstr "Ingrese la fecha"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado."
msgid "Registration is disabled."
msgstr "Registro deshabilitado."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Cantidad proporcionada no válida"
@@ -264,9 +264,9 @@ msgstr "Archivo adjunto"
msgid "Select file to attach"
msgstr "Seleccionar archivo para adjuntar"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Comentario"
msgid "File comment"
msgstr "Comentario del archivo"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Usuario"
@@ -342,8 +342,8 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre"
msgid "Invalid choice"
msgstr "Selección no válida"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Nombre"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Error de servidor"
msgid "An error has been logged by the server."
msgstr "Se ha registrado un error por el servidor."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Debe ser un número válido"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Moneda"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Seleccionar moneda de las opciones disponibles"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Nombre de Archivo"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Archivo de datos"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Seleccione el archivo para subir"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Tipo de archivo no soportado"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "El archivo es demasiado grande"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "No hay columnas en el archivo"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "No hay filas de datos en el archivo"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "No se proporcionaron filas de datos"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "No hay columnas de datos proporcionadas"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Falta la columna requerida: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Columna duplicada: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL de imagen remota"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "La descarga de imágenes desde la URL remota no está habilitada"
@@ -710,7 +710,7 @@ msgstr "Devuelto"
msgid "In Progress"
msgstr "En progreso"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Construir órden"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Construir órdenes"
@@ -991,8 +991,8 @@ msgstr "Opción no válida para la construcción padre"
msgid "Build Order Reference"
msgstr "Número de orden de construcción o armado"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Orden de Construcción o Armado a la que se asigna"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Fecha límite de finalización"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Fecha de finalización"
@@ -1229,37 +1229,37 @@ msgstr "El pedido {build} ha sido procesado"
msgid "A build order has been completed"
msgstr "Pedido #[order] ha sido procesado"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "No se ha especificado salida de construcción"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "La construcción de la salida ya está completa"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "La salida de la construcción no coincide con el orden de construcción"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "La cantidad debe ser mayor que cero"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "La cantidad no puede ser mayor que la cantidad de salida"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Ensamblar equipo"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr "Ensamblar equipo"
msgid "Quantity"
msgstr "Cantidad"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Cantidad requerida para orden de ensamble"
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Artículo de stock sobreasignado"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Cantidad asignada debe ser mayor que cero"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "La cantidad debe ser 1 para el stock serializado"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "El artículo de almacén selelccionado no coincide con la línea BOM"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr "El artículo de almacén selelccionado no coincide con la línea BOM"
msgid "Stock Item"
msgstr "Artículo de stock"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Producto original de stock"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Cantidad de stock a asignar para construir"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Instalar en"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Artículo de stock de destino"
@@ -1416,7 +1416,7 @@ msgstr "Autoasignar Números de Serie"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "Los siguientes números seriales ya existen o son inválidos"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "Ubicación para las salidas de construcción completadas"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr "Stock no ha sido asignado completamente a este pedido de construcción"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr "Salidas completadas"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr "Fuente de stock"
msgid "Stock can be taken from any available location."
msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible."
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Destinación"
@@ -2958,558 +2958,566 @@ msgstr "Intervalo de borrado de informe"
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "Ocultar partes inactivas"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr "Ocultar partes inactivas en los resultados mostrados en la página de inicio"
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Mostrar partes suscritas"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Mostrar las partes suscritas en la página principal"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Mostrar categorías suscritas"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Mostrar categorías de partes suscritas en la página de inicio"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Mostrar últimas partes"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Mostrar las últimas partes en la página de inicio"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Mostrar BOMs no validadas"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Mostrar BOMs que esperan validación en la página de inicio"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Mostrar cambios recientes de stock"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Mostrar stock bajo"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Mostrar artículos de stock bajo en la página de inicio"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Mostrar stock agotado"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Mostrar artículos agotados en la página de inicio"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Mostrar stock necesario"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Mostrar artículos de stock necesarios para trabajos en la página de inicio"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Mostrar stock caducado"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Mostrar artículos de stock caducados en la página de inicio"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Mostrar stock obsoleto"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Mostrar artículos de stock obsoletos en la página de inicio"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Mostrar trabajos pendientes"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Mostrar trabajos pendientes en la página de inicio"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Mostrar trabajos vencidos"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Mostrar trabajos pendientes en la página de inicio"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Mostrar Órdenes de Compra Pendientes"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Mostrar las OC destacadas en la página de inicio"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Mostrar OC atrasadas"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Mostrar las OC vencidas en la página de inicio"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Mostrar OV pendiemtes"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Mostrar OV pendientes en la página de inicio"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Mostrar OV atrasadas"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr "Mostrar OV atrasadas en la página de inicio"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Mostrar novedades"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Mostrar etiqueta interior"
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Mostrar etiquetas PDF en el navegador, en lugar de descargar como un archivo"
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Impresora predeterminada"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Mostrar informe en línea"
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo"
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Buscar partes"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr "Buscar partes de proveedor"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Ocultar Partes Inactivas"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Buscar categorías"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Buscar inventario"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Buscar ubicaciones"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Mostrar ubicaciones de almacén en la ventana de vista previa de búsqueda"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Buscar empresas"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Mostrar empresas en la ventana de vista previa de búsqueda"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Buscar órdenes de compra"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Buscar órdenes de venta"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Buscar órdenes de devolución"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Resultados de la vista previa"
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Búsqueda Regex"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr "Habilitar expresiones regulares en las consultas de búsqueda"
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr "Búsqueda por palabra completa"
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes"
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Mostrar cantidad en formularios"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr "Mostrar la cantidad de partes disponibles en algunos formularios"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "Formularios de cierre de teclas de escape"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr "Usa la clave de escape para cerrar formularios modales"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Barra de navegación fija"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "La posición de la barra de navegación se fija en la parte superior de la pantalla"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Formato de Fecha"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Formato preferido para mostrar fechas"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Planificación de partes"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr "Cantidad de salto de precio"
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Precio"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr "Precio unitario a la cantidad especificada"
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr "Punto final en el que se recibe este webhook"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr "Nombre para este webhook"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Activo"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "Está activo este webhook"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Token"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Token para el acceso"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Clave"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Secreto compartido para HMAC"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "ID de mensaje"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Identificador único para este mensaje"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Host"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Servidor desde el cual se recibió este mensaje"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Encabezado"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Encabezado del mensaje"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Cuerpo"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Cuerpo de este mensaje"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr "Endpoint en el que se recibió este mensaje"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr "Trabajado en"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr "¿El trabajo en este mensaje ha terminado?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "Id"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Título"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Publicado"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Autor"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Resumen"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr "Leer"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr "¿Esta noticia ya fue leída?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr "¿Esta noticia ya fue leída?"
msgid "Image"
msgstr "Imágen"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr "Archivo de imagen"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr "Nombre de unidad"
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr "Símbolo"
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr "Símbolo de unidad opcional"
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr "Definición"
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr "Definición de unidad"
@@ -3556,19 +3564,28 @@ msgstr "Nuevo {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr "Se ha creado un nuevo pedido y se le ha asignado"
-#: common/notifications.py:298 common/notifications.py:305
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr ""
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
msgid "Items Received"
msgstr "Artículos Recibidos"
-#: common/notifications.py:300
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Los artículos han sido recibidos contra una orden de compra"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr "Los artículos han sido recibidos contra una orden de devolución"
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr "Error generado por el complemento"
@@ -3876,9 +3893,9 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Descargar desde URL"
msgid "Delete image"
msgstr "Borrar imagen"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Stock del Proveedor"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Ordenes de compra"
@@ -4162,7 +4179,7 @@ msgstr "Nueva orden de compra"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Órdenes de venta"
@@ -4187,7 +4204,7 @@ msgstr "Stock asignado"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr "Ordenes de devolución"
@@ -4403,7 +4420,7 @@ msgstr "Actualizar disponibilidad de parte"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Elementos de stock"
@@ -4521,7 +4538,7 @@ msgstr "Precio Total"
msgid "No matching purchase order found"
msgstr "No se encontró ninguna orden de compra coincidente"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr "No se encontró ninguna orden de compra coincidente"
msgid "Purchase Order"
msgstr "Orden de compra"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr "Descripción del pedido (opcional)"
msgid "Select project code for this order"
msgstr "Seleccione el código del proyecto para este pedido"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Enlace a Url externa"
@@ -4596,11 +4613,11 @@ msgstr "Punto de contacto para este pedido"
msgid "Company address for this order"
msgstr "Dirección de la empresa para este pedido"
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Referencia del pedido"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Estado de la orden de compra"
@@ -4621,15 +4638,15 @@ msgstr "Código de referencia de pedido del proveedor"
msgid "received by"
msgstr "recibido por"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Fecha de emisión"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Fecha de expedición del pedido"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "La fecha de pedido fue completada"
@@ -4637,99 +4654,99 @@ msgstr "La fecha de pedido fue completada"
msgid "Part supplier must match PO supplier"
msgstr "El proveedor de la parte debe coincidir con el proveedor de PO"
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "La cantidad debe ser un número positivo"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Empresa a la que se venden los artículos"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Referencia del cliente "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr "Código de referencia de pedido del cliente"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Fecha de envío"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "enviado por"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr "El pedido no se puede completar porque no se han asignado partes"
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr "Sólo una orden abierta puede ser marcada como completa"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "El pedido no se puede completar porque hay envíos incompletos"
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr "El pedido no se puede completar porque hay partidas incompletas"
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Cantidad del artículo"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr "Referencia de partida"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr "Notas de partida"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)"
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr "Descripción de partida (opcional)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Contexto"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "Contexto adicional para esta línea"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Precio unitario"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr "La parte del proveedor debe coincidir con el proveedor"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "eliminado"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Orden"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Parte del proveedor"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr "Parte del proveedor"
msgid "Received"
msgstr "Recibido"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Número de artículos recibidos"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Precio de Compra"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Precio de compra unitario"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr "¿Dónde quiere el comprador almacenar este objeto?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Una parte virtual no puede ser asignada a un pedido de venta"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Precio de Venta"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Precio de venta unitario"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Cantidad enviada"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Fecha del envío"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr "Fecha de entrega"
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr "Fecha de entrega del envío"
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Revisado por"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Usuario que revisó este envío"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Envío"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Número de envío"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Número de Seguimiento"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Información de seguimiento del envío"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Número de factura"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Número de referencia para la factura asociada"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "El envío ya ha sido enviado"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "El envío no tiene artículos de stock asignados"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "El artículo de stock no ha sido asignado"
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente"
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr "No se puede asignar stock a una línea sin una parte"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La cantidad de asignación no puede exceder la cantidad de stock"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr "La cantidad debe ser 1 para el stock serializado"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr "La orden de venta no coincide con el envío"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr "El envío no coincide con el pedido de venta"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Línea"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr "Referencia del envío del pedido de venta"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Ítem"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr "Seleccionar artículo de stock para asignar"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Especificar la cantidad de asignación de stock"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr "Referencia de la orden de devolución"
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr "Empresa de la cual se están devolviendo los artículos"
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr "Estado de la orden de devolución"
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución"
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr "Seleccionar el artículo a devolver del cliente"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr "Fecha de recepción"
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr "La fecha en la que se recibió este artículo de devolución"
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr "Resultado"
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr "Salida para esta partida"
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr "Costo asociado con la devolución o reparación para esta partida"
@@ -5567,7 +5584,7 @@ msgstr "Ruta de Categoría"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Partes"
@@ -5650,7 +5667,7 @@ msgstr "Categoría de parte"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Categorías de parte"
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr "Inventario"
@@ -7292,74 +7309,74 @@ msgstr "No se especificó ninguna acción"
msgid "No matching action found"
msgstr "No se encontró ninguna acción coincidente"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr "Faltan datos de código de barras"
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "No se encontró ninguna coincidencia para los datos del código de barras"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Coincidencia encontrada para datos de códigos de barras"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr "El código de barras coincide con artículo existente"
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr "No hay coincidencias para el valor proporcionado"
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr "Impresión de etiquetas fallida"
@@ -7377,8 +7394,8 @@ msgstr "Proporciona soporte nativo para códigos de barras"
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr "Contribuidores de InvenTree"
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr "Configuración del complemento"
msgid "Plugin Configurations"
msgstr "Configuraciones del Plug-in"
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Clave"
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr "Fecha de Expiración"
@@ -8006,23 +8023,23 @@ msgstr "Fecha de Expiración"
msgid "External Location"
msgstr "Ubicación externa"
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr "Cantidad requerida"
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr "Debe suministrarse una parte válida"
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr "Ubicación de Stock"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Ubicaciones de Stock"
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Este ítem expiró el %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "Expirado"
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr "Editar"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Eliminar"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr "Página de Inicio"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Confirmar Email"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Confirme que %(email)s es una dirección de correo electrónico para el usuario %(user_display)s."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Confirmar"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr "No hay trabajos que coincidan con la consulta"
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr "Operación de eliminación no permitida"
msgid "View operation not allowed"
msgstr "Operación de visualización no permitida"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr "Mantener este formulario abierto"
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Introduzca un número válido"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Existen errores en el formulario"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "No hay resultados"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr "Buscando"
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr "Limpiar entrada"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr "Columna de archivo"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr "Nombre del campo"
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr "Seleccionar columnas"
@@ -11212,27 +11230,27 @@ msgstr "seleccionado"
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr "Etiquetas enviadas a la impresora"
@@ -12493,7 +12511,7 @@ msgstr "Tomar"
msgid "Add Stock"
msgstr "Añadir Stock"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr "Añadir"
@@ -13132,7 +13150,7 @@ msgstr "Mostrar notificaciones"
msgid "New Notifications"
msgstr "Notificaciones nuevas"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr "Admin"
@@ -13327,7 +13345,7 @@ msgstr "Permisos"
msgid "Important dates"
msgstr "Fechas importantes"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13335,67 +13353,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Permiso establecido"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Grupo"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Vista"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Permiso para ver artículos"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Permiso para añadir artículos"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Cambiar"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Permisos para editar artículos"
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr "Permiso para eliminar artículos"
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index e800bec0a31b..dcbdf6c71f66 100644
--- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-13 12:13+0000\n"
+"POT-Creation-Date: 2023-11-15 12:36+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -55,7 +55,7 @@ msgstr ""
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -128,7 +128,7 @@ msgstr ""
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -369,7 +369,7 @@ msgstr ""
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -445,35 +445,35 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:61 part/models.py:3904
+#: InvenTree/serializers.py:60 part/models.py:3904
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:90 company/models.py:150
+#: InvenTree/serializers.py:89 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:93
+#: InvenTree/serializers.py:92
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:427
+#: InvenTree/serializers.py:339
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:437
+#: InvenTree/serializers.py:349
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:454
+#: InvenTree/serializers.py:366
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:455
+#: InvenTree/serializers.py:367
#, python-brace-format
msgid ""
"Your account has been created.\n"
@@ -481,66 +481,66 @@ msgid ""
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:519
+#: InvenTree/serializers.py:431
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:556
+#: InvenTree/serializers.py:468
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:490
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:579
+#: InvenTree/serializers.py:491
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:600
+#: InvenTree/serializers.py:512
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:518
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:627
+#: InvenTree/serializers.py:539
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:630
+#: InvenTree/serializers.py:542
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:753
+#: InvenTree/serializers.py:665
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:756
+#: InvenTree/serializers.py:668
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:833
+#: InvenTree/serializers.py:745
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:842
+#: InvenTree/serializers.py:754
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:867
+#: InvenTree/serializers.py:779
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:868
+#: InvenTree/serializers.py:780
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:881
+#: InvenTree/serializers.py:793
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -713,7 +713,7 @@ msgstr ""
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -994,8 +994,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1025,7 +1025,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1153,7 +1153,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1232,37 +1232,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1306,36 +1306,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1352,19 +1352,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1419,7 +1419,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1468,8 +1468,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1761,7 +1761,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1798,8 +1798,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1849,7 +1849,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -3386,7 +3386,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
@@ -3559,19 +3559,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3879,9 +3888,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4044,8 +4053,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4524,7 +4533,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4538,7 +4547,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4575,7 +4584,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4599,11 +4608,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4624,15 +4633,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4640,99 +4649,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4742,185 +4751,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -7295,74 +7304,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7380,8 +7389,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7483,51 +7492,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7706,19 +7715,19 @@ msgstr ""
msgid "Test report"
msgstr ""
-#: report/helpers.py:13
+#: report/helpers.py:15
msgid "A4"
msgstr ""
-#: report/helpers.py:14
+#: report/helpers.py:16
msgid "A3"
msgstr ""
-#: report/helpers.py:15
+#: report/helpers.py:17
msgid "Legal"
msgstr ""
-#: report/helpers.py:16
+#: report/helpers.py:18
msgid "Letter"
msgstr ""
@@ -7921,6 +7930,22 @@ msgstr ""
msgid "Serial"
msgstr ""
+#: report/templatetags/report.py:95
+msgid "Asset file does not exist"
+msgstr ""
+
+#: report/templatetags/report.py:144 report/templatetags/report.py:209
+msgid "Image file not found"
+msgstr ""
+
+#: report/templatetags/report.py:230
+msgid "part_image tag requires a Part instance"
+msgstr ""
+
+#: report/templatetags/report.py:269
+msgid "company_image tag requires a Company instance"
+msgstr ""
+
#: stock/admin.py:40 stock/admin.py:126
msgid "Location ID"
msgstr ""
@@ -7993,23 +8018,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -9306,7 +9331,7 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
#: templates/js/translated/stock.js:245 users/models.py:393
msgid "Delete"
@@ -9412,7 +9437,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9760,7 +9785,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
msgid "Confirm"
msgstr ""
@@ -9961,6 +9986,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10713,7 +10739,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159
+#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11114,40 +11140,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:788
+#: templates/js/translated/forms.js:772
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:891
+#: templates/js/translated/forms.js:874
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1461 templates/modals.html:19
+#: templates/js/translated/forms.js:1422 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1959
+#: templates/js/translated/forms.js:1876
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2477
+#: templates/js/translated/forms.js:2394
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:3075
+#: templates/js/translated/forms.js:2863
msgid "Select Columns"
msgstr ""
@@ -11199,27 +11225,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:149
+#: templates/js/translated/label.js:144
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:155
+#: templates/js/translated/label.js:150
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:168
+#: templates/js/translated/label.js:163
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:187
+#: templates/js/translated/label.js:182
msgid "Labels sent to printer"
msgstr ""
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index b25f780d7a48..bd96785f6957 100644
--- a/InvenTree/locale/fa/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fa/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -54,7 +54,7 @@ msgstr "تاریخ را وارد کنید"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "دامنه ایمیل ارائه شده تایید نشده است."
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr ""
@@ -264,9 +264,9 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr ""
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr ""
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "فایلهای داده"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "فایل را برای بارگذاری انتخاب کنید"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "این نوع فایل پشتیبانی نمیشود"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "حجم فایل خیلی بزرگ است"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "هیچ ستونی در فایل یافت نشد"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "هیچ ردیف داده ای در فایل یافت نشد"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "هیچ ردیف داده ای ارائه نشده است"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "هیچ ستون داده ای ارائه نشده است"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "ستون مورد نیاز وجود ندارد: \"{name}\""
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "ستون تکراری: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "آدرس اینترنتی"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "آدرس فایل تصویری از راه دور"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -710,7 +710,7 @@ msgstr ""
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr ""
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است"
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "تایید"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po
index bdaf3e76b007..78833c5b7cd7 100644
--- a/InvenTree/locale/fi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -54,7 +54,7 @@ msgstr "Anna päivämäärä"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä."
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Annettu määrä on virheellinen"
@@ -264,9 +264,9 @@ msgstr "Liite"
msgid "Select file to attach"
msgstr "Valitse liitettävä tiedosto"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Kommentti"
msgid "File comment"
msgstr "Tiedoston kommentti"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Käyttäjä"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "Virheellinen valinta"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Nimi"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Palvelinvirhe"
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Täytyy olla kelvollinen luku"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Valuutta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Tiedostonimi"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Virheellinen arvo"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Datatiedosto"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Valitse lähetettävä datatiedosto"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Tiedostotyyppiä ei tueta"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Tiedosto on liian suuri"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Datarivejä ei annettu"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Datasarakkeita ei annettu"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Vaadittu sarake puuttuu: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikaatti sarake: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "Kuvatiedoston URL"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Kuvien lataaminen ei ole käytössä"
@@ -710,7 +710,7 @@ msgstr "Palautettu"
msgid "In Progress"
msgstr "Kesken"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr ""
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "Määrä"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "Varastotuote"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Näytä uutiset"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Näytä uutiset kotisivulla"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Hinta"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Aktiivinen"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Salaisuus"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Isäntä"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Otsikko"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Julkaistu"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Julkaisija"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Yhteenveto"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr "Kuva"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr "Kuvatiedosto"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr "Uusi {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr "Hinta yhteensä"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Tilauksen viite"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Asiakkaan viite "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr "Vastaanotettu"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Seurantakoodi"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Laskunumero"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Avain"
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr "Muokkaa"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Poista"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Vahvista sähköpostiosoite"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Vahvista"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr "Näytä ilmoitukset"
msgid "New Notifications"
msgstr "Uudet ilmoitukset"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr "Oikeudet"
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Ryhmä"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Näytä"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Oikeus tarkastella kohteita"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Oikeus lisätä kohteita"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Muuta"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Oikeus muokata kohteita"
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr "Oikeus poistaa kohteita"
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 23173bd9e015..e62a36391795 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -54,7 +54,7 @@ msgstr "Entrer la date"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Le domaine e-mail fourni n'est pas approuvé."
msgid "Registration is disabled."
msgstr "L'enregistrement est désactivé."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
@@ -264,9 +264,9 @@ msgstr "Pièce jointe"
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Commentaire"
msgid "File comment"
msgstr "Commentaire du fichier"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Utilisateur"
@@ -342,8 +342,8 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent"
msgid "Invalid choice"
msgstr "Choix invalide"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Nom"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Erreur serveur"
msgid "An error has been logged by the server."
msgstr "Une erreur a été loguée par le serveur."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Devise"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Sélectionnez la devise à partir des options disponibles"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Nom du fichier"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Valeur non valide"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Fichier de données"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Sélectionnez le fichier de données à envoyer"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Format de fichier non supporté"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Fichier trop volumineux"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Pas de colonnes trouvées dans le fichier"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Par de lignes de données trouvées dans le fichier"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Pas de lignes de données fournies"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Pas de colonne de données fournie"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonne requise manquante : {name}"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonne duliquée : '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL du fichier image distant"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Le téléchargement des images depuis une URL distante n'est pas activé"
@@ -710,7 +710,7 @@ msgstr "Retourné"
msgid "In Progress"
msgstr "En Cours"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Ordre de Fabrication"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Ordres de Fabrication"
@@ -991,8 +991,8 @@ msgstr "Choix invalide pour la fabrication parente"
msgid "Build Order Reference"
msgstr "Référence de l' Ordre de Fabrication"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ 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:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Date d'achèvement"
@@ -1229,37 +1229,37 @@ msgstr "La commande de construction {build} a été effectuée"
msgid "A build order has been completed"
msgstr "Une commande de construction a été effectuée"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Pas d'ordre de production défini"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "L'ordre de production a déjà été réalisé"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "L'ordre de production de correspond pas à l'ordre de commande"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "La quantité ne peut pas être supérieure à la quantité de sortie"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Création de l'objet"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr "Création de l'objet"
msgid "Quantity"
msgstr "Quantité"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Quantité requise pour la commande de construction"
-#: build/models.py:1361
+#: build/models.py:1369
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:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "L'article de stock est suralloué"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "La quantité allouée doit être supérieure à zéro"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "La quantité doit être de 1 pour stock sérialisé"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM"
msgid "Stock Item"
msgstr "Article en stock"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Stock d'origine de l'article"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Quantité de stock à allouer à la construction"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Installer dans"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Stock de destination de l'article"
@@ -1416,7 +1416,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:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "Les numéros de série suivants existent déjà, ou sont invalides"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "Emplacement des ordres de production achevés"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr "Sorties de Construction terminées"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ 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:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Destination"
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr "Les rapports d'inventaire seront supprimés après le nombre de jours spécifié"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Clé du paramètre (doit être unique - insensible à la casse)"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Afficher les composants suivis"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Afficher les composants suivis sur l'écran d'accueil"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Afficher les catégories suivies"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Afficher les catégories de pièces suivies sur la page d'accueil"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Afficher les dernières pièces"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Afficher les derniers composants sur la page d'accueil"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Afficher les listes de matériaux non validées"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Afficher les listes de matériaux en attente de validation sur la page d'accueil"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Afficher les dernières modifications du stock"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Afficher les articles de stock récemment modifiés sur la page d'accueil"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Afficher le stock faible"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Afficher les articles en stock bas sur la page d'accueil"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Afficher le stock épuisé"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Afficher les stocks épuisés sur la page d'accueil"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Afficher le stock nécessaire"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Afficher les pièces en stock nécessaires pour les assemblages sur la page d'accueil"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Afficher le stock expiré"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Afficher les pièces en stock expirées sur la page d'accueil"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Afficher le stock périmé"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Afficher les articles de stock périmés sur la page d'accueil"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Afficher les constructions en attente"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Afficher les constructions en attente sur la page d'accueil"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Afficher les constructions en retard"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Afficher les constructions en retard sur la page d'accueil"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Afficher les commandes en suspens"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Afficher les commandes en suspens sur la page d'accueil"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Afficher les commandes en retard"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Afficher les commandes en retard sur la page d'accueil"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Afficher les envois en suspens"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Afficher les envois en suspens sur la page d'accueil"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Afficher les envois en retard"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr "Afficher les envois en retard sur la page d'accueil"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Afficher les nouvelles"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Afficher les nouvelles sur la page d'accueil"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Affichage du libellé en ligne"
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier"
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Imprimante d'étiquettes par défaut"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr "Configurer quelle imprimante d'étiquette doit être sélectionnée par défaut"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Affichage du rapport en ligne"
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier"
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Rechercher de pièces"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Rechercher les pièces du fabricant"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Masquer les pièces inactives"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Rechercher des catégories"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Rechercher dans le stock"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr "Afficher les pièces en stock dans la fenêtre d'aperçu de la recherche"
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr "Cacher les pièces indisponibles"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Chercher des Emplacements"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Rechercher les entreprises"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Rechercher les commandes de construction"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Rechercher des bons de commande"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche"
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr "Exclure les bons de commande inactifs"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Rechercher les bons de commande"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de la recherche"
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr "Exclure les bons de commande inactives"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr "Exclure les bons de commande inactifs de la fenêtre de prévisualisation de recherche"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Rechercher les commandes retournées"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Résultats de l'aperçu de la recherche"
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr "Nombre de résultats à afficher dans chaque section de la fenêtre de prévisualisation de recherche"
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Recherche Regex"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Afficher la quantité dans les formulaires"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr "Afficher la quantité disponible dans certains formulaires"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "La touche Echap ferme les formulaires"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr "Utilisez la touche Echap pour fermer les formulaires modaux"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Barre de navigation fixe"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "La position de la barre de navigation est fixée en haut de l'écran"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Format de date"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Format préféré pour l'affichage des dates"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Planification des pièces"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr "Afficher les informations de planification des pièces"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Inventaire des pièces"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr "Longueur de la chaîne dans les Tableau"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Limite de longueur maximale pour les chaînes affichées dans les vues de la table"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Prix"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Actif"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "Ce webhook (lien de rappel HTTP) est-il actif"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Jeton"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Jeton d'accès"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Confidentiel"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "ID message"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Identifiant unique pour ce message"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Hôte"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Hôte à partir duquel ce message a été reçu"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Entête"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "En-tête de ce message"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Corps"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Corps de ce message"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr "Endpoint à partir duquel ce message a été reçu"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr "Le travail sur ce message est-il terminé ?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "Id"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Titre"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Publié"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Auteur"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Résumé"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr "Lu"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr "Cette nouvelle a-t-elle été lue ?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr "Cette nouvelle a-t-elle été lue ?"
msgid "Image"
msgstr "Image"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr "Nouveau {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr "Une nouvelle commande a été créée et vous a été assignée"
-#: common/notifications.py:298 common/notifications.py:305
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr ""
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
msgid "Items Received"
msgstr "Articles reçus"
-#: common/notifications.py:300
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Des articles d'un bon de commande ont été reçus"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr "Erreur déclenchée par le plugin"
@@ -3876,9 +3893,9 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Télécharger l'image depuis l'URL"
msgid "Delete image"
msgstr "Supprimer image"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Stock fournisseur"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Bons de commande"
@@ -4162,7 +4179,7 @@ msgstr "Nouvelle commande achat"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Ventes"
@@ -4187,7 +4204,7 @@ msgstr "Stock affecté"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr "Mettre à jour la disponibilité des pièces"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Éléments en stock"
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr "Aucun bon de commande correspondant n'a été trouvé"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé"
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Lien vers une page externe"
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Référence de la commande"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Statut de la commande d'achat"
@@ -4621,15 +4638,15 @@ msgstr "Code de référence de la commande fournisseur"
msgid "received by"
msgstr "reçu par"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Date d'émission"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Date d'émission de la commande"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "Date à laquelle la commande a été complété"
@@ -4637,99 +4654,99 @@ msgstr "Date à laquelle la commande a été complété"
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "La quantité doit être un nombre positif"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Société à laquelle les articles sont vendus"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Nom de l’expédition"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "expédié par"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée"
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "La commande ne peut pas être terminée car il y a des envois incomplets"
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Nombre d'élement"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Contexte"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Prix unitaire"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "supprimé"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Commande"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Pièce fournisseur"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr "Pièce fournisseur"
msgid "Received"
msgstr "Reçu"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Nombre d'éléments reçus"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Prix d'achat"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Prix d'achat unitaire"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Où l'Acheteur veut-il stocker cet article ?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "La pièce virtuelle ne peut pas être affectée à une commande"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Seules les pièces vendues peuvent être attribuées à une commande"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Prix de vente"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Prix de vente unitaire"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Quantité expédiée"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Date d'expédition"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Vérifié par"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Utilisateur qui a vérifié cet envoi"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Envoi"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Numéro d'expédition"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "N° de suivi"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Information de suivi des colis"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "N° de facture"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Numéro de référence de la facture associée"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "Le colis a déjà été envoyé"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "L'expédition n'a pas d'articles en stock alloués"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "L'article de stock n'a pas été assigné"
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr "Impossible d'allouer le stock à une ligne sans pièce"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Ligne"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Article"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Pièces"
@@ -5650,7 +5667,7 @@ msgstr "Catégorie de composant"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Catégories de composants"
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr "Prise d'inventaire"
@@ -7292,74 +7309,74 @@ msgstr "Aucune action spécifiée"
msgid "No matching action found"
msgstr "Aucune action correspondante trouvée"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Aucune correspondance trouvée pour les données du code-barres"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Correspondance trouvée pour les données du code-barres"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr "Contributeurs d'InvenTree"
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr "Modifier"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Supprimer"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Confirmer"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr "Supprimer"
msgid "Add Stock"
msgstr "Ajouter du stock"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr "Ajouter"
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr "Droits"
msgid "Important dates"
msgstr "Dates importantes"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Droit défini"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Groupe"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Vue"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Droit de voir des éléments"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Droit d'ajouter des éléments"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Modifier"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Droit de modifier des élément"
-#: users/models.py:393
+#: users/models.py:410
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 26337d8b0afd..13af6a8ad688 100644
--- a/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -54,7 +54,7 @@ msgstr "הזן תאריך סיום"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr ""
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr ""
@@ -264,9 +264,9 @@ msgstr "קובץ מצורף"
msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "הערה"
msgid "File comment"
msgstr "הערת קובץ"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "משתמש"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "בחירה שגויה"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "שם"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "שם קובץ"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -710,7 +710,7 @@ msgstr "הוחזר"
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr ""
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "כמות"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "לא פורטה הפעולה"
msgid "No matching action found"
msgstr "פעולה מבוקשת לא נמצאה"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "אשר"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/hi/LC_MESSAGES/django.po b/InvenTree/locale/hi/LC_MESSAGES/django.po
index 1195a42d4226..91a3607da0a3 100644
--- a/InvenTree/locale/hi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/hi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -54,7 +54,7 @@ msgstr "तारीख दर्ज करें"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr ""
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr ""
@@ -264,9 +264,9 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr ""
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr ""
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -710,7 +710,7 @@ msgstr ""
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr ""
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr ""
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 68a5006de3cc..7842b38c9e72 100644
--- a/InvenTree/locale/hu/LC_MESSAGES/django.po
+++ b/InvenTree/locale/hu/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -54,7 +54,7 @@ msgstr "Dátum megadása"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "A megadott email domain nincs jóváhagyva."
msgid "Registration is disabled."
msgstr "Regisztráció le van tiltva."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Nem megfelelő mennyiség"
@@ -264,9 +264,9 @@ msgstr "Melléklet"
msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Megjegyzés"
msgid "File comment"
msgstr "Leírás, bővebb infó"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Felhasználó"
@@ -342,8 +342,8 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt"
msgid "Invalid choice"
msgstr "Érvénytelen választás"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Név"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Kiszolgálóhiba"
msgid "An error has been logged by the server."
msgstr "A kiszolgáló egy hibaüzenetet rögzített."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Pénznem"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Válassz pénznemet a lehetőségek közül"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Fájlnév"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Érvénytelen érték"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Adat fájl"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Fájl kiválasztása feltöltéshez"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Nem támogatott fájltípus"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Fájl túl nagy"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Nem találhatók oszlopok a fájlban"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Nincsenek adatsorok a fájlban"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Nincs adatsor megadva"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Nincs adat oszlop megadva"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Szükséges oszlop hiányzik: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikált oszlop: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "A távoli kép URL-je"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Képek letöltése távoli URL-ről nem engedélyezett"
@@ -710,7 +710,7 @@ msgstr "Visszaküldve"
msgid "In Progress"
msgstr "Folyamatban"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Gyártási utasítás"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Gyártási utasítások"
@@ -991,8 +991,8 @@ msgstr "Hibás választás a szülő gyártásra"
msgid "Build Order Reference"
msgstr "Gyártási utasítás azonosító"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ 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:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Befejezés dátuma"
@@ -1229,37 +1229,37 @@ msgstr "A {build} gyártási utasítás elkészült"
msgid "A build order has been completed"
msgstr "Gyártási utasítás elkészült"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Nincs gyártási kimenet megadva"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Gyártási kimenet már kész"
-#: build/models.py:774
+#: build/models.py:782
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:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "A mennyiség nem lehet több mint a gyártási mennyiség"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Gyártás objektum"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr "Gyártás objektum"
msgid "Quantity"
msgstr "Mennyiség"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Gyártáshoz szükséges mennyiség"
-#: build/models.py:1361
+#: build/models.py:1369
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:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Készlet túlfoglalva"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie"
-#: build/models.py:1392
+#: build/models.py:1400
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:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel"
msgid "Stock Item"
msgstr "Készlet tétel"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Forrás készlet tétel"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Beépítés ebbe"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Cél készlet tétel"
@@ -1416,7 +1416,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:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "A kész gyártási kimenetek helye"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1759,7 +1759,7 @@ msgstr "Még nincs lefoglalva a szükséges készlet"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1796,8 +1796,8 @@ msgid "Completed Outputs"
msgstr "Befejezett kimenetek"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1847,7 +1847,7 @@ 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:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Cél"
@@ -2959,558 +2959,566 @@ msgstr "Riport törlési gyakoriság"
msgid "Stocktake reports will be deleted after specified number of days"
msgstr "Régi leltár riportok törlése hány naponta történjen"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
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:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "Inaktív alkatrészek elrejtése"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon"
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Értesítésre beállított alkatrészek megjelenítése"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Alkatrész értesítések megjelenítése a főoldalon"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Értesítésre beállított kategóriák megjelenítése"
-#: common/models.py:1940
+#: common/models.py:1946
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:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Legújabb alkatrészek megjelenítése"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Legújabb alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése"
-#: common/models.py:1954
+#: common/models.py:1960
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:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Legfrissebb készlet változások megjelenítése"
-#: common/models.py:1961
+#: common/models.py:1967
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:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Alacsony készlet megjelenítése"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Alacsony készletek megjelenítése a főoldalon"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Kimerült készlet megjelenítése"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Kimerült készletek megjelenítése a főoldalon"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Gyártáshoz szükséges készlet megjelenítése"
-#: common/models.py:1982
+#: common/models.py:1988
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:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Lejárt készlet megjelenítése"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Lejárt készletek megjelenítése a főoldalon"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Állott készlet megjelenítése"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Álló készletek megjelenítése a főoldalon"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Függő gyártások megjelenítése"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Késésben lévő gyártások megjelenítése"
-#: common/models.py:2010
+#: common/models.py:2016
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:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Kintlévő beszerzési rendelések megjelenítése"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Késésben lévő megrendelések megjelenítése"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Késésben lévő megrendelések megjelenítése a főoldalon"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Függő vevői rendelések megjelenítése"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Függő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Késésben lévő vevői rendelések megjelenítése"
-#: common/models.py:2038
+#: common/models.py:2044
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:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr "Függő vevői szállítmányok megjelenítése"
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr "Folyamatban lévő vevői szállítmányok megjelenítése a főoldalon"
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Hírek megjelenítése"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Hírek megjelenítése a főoldalon"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Beágyazott címke megjelenítés"
-#: common/models.py:2059
+#: common/models.py:2065
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:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Alapértelmezett címkenyomtató"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr "Melyik címkenyomtató legyen az alapértelmezett"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Beágyazott riport megjelenítés"
-#: common/models.py:2073
+#: common/models.py:2079
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:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Alkatrészek keresése"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr "Alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr "Beszállítói alkatrészek keresése"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Gyártói alkatrészek keresése"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Inaktív alkatrészek elrejtése"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Kategóriák keresése"
-#: common/models.py:2108
+#: common/models.py:2114
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:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Készlet keresése"
-#: common/models.py:2115
+#: common/models.py:2121
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:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr "Nem elérhető készlet tételek elrejtése"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Helyek keresése"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Készlet helyek megjelenítése a keresési előnézetben"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Cégek keresése"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Cégek megjelenítése a keresési előnézetben"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Gyártási utasítások keresése"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Beszerzési rendelések keresése"
-#: common/models.py:2150
+#: common/models.py:2156
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:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr "Inaktív beszerzési rendelések kihagyása"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Vevői rendelések keresése"
-#: common/models.py:2164
+#: common/models.py:2170
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:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr "Inaktív vevői rendelések kihagyása"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Visszavétel keresése"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr "Visszavételek megjelenítése a keresés előnézet ablakban"
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr "Inaktív visszavételek kihagyása"
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr "Inaktív visszavételek kihagyása a keresési előnézet találataiból"
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Keresési előnézet eredményei"
-#: common/models.py:2192
+#: common/models.py:2198
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:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Regex keresés"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr "Reguláris kifejezések engedélyezése a keresésekben"
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr "Teljes szó keresés"
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr "A keresések csak teljes szóra egyező találatokat adjanak"
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Mennyiség megjelenítése a formokon"
-#: common/models.py:2213
+#: common/models.py:2219
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:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "ESC billentyű zárja be a formot"
-#: common/models.py:2220
+#: common/models.py:2226
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:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Rögzített menüsor"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "A menü pozíciója mindig rögzítve a lap tetején"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Dátum formátum"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Preferált dátum formátum a dátumok kijelzésekor"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Alkatrész ütemezés"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr "Alkatrész ütemezési információk megjelenítése"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Alkatrész leltár"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)"
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr "Táblázati szöveg hossz"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr "Alapértelmezett alkatrész címke sablon"
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon"
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr "Alapértelmezett készlet címke sablon"
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr "Az alapértelmezetten kiválasztott készlet címke sablon"
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr "Alapértelmezett készlethely címke sablon"
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon"
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr "Hibariportok fogadása"
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr "Értesítések fogadása a rendszerhibákról"
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr "Ársáv mennyiség"
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Ár"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr "Egységár egy meghatározott mennyiség esetén"
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr "Végpont"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr "Végpont ahol ez a webhook érkezik"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Aktív"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "Aktív-e ez a webhook"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Token"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Token a hozzáféréshez"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Titok"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Megosztott titok a HMAC-hoz"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "Üzenet azonosító"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Egyedi azonosító ehhez az üzenethez"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Kiszolgáló"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Kiszolgáló ahonnan ez az üzenet érkezett"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Fejléc"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Üzenet fejléce"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Törzs"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Üzenet törzse"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr "Végpont amin ez az üzenet érkezett"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr "Dolgozott rajta"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr "Befejeződött a munka ezzel az üzenettel?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "Id"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Cím"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Közzétéve"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Szerző"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Összefoglaló"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr "Elolvasva"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr "Elolvasva?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3520,31 +3528,31 @@ msgstr "Elolvasva?"
msgid "Image"
msgstr "Kép"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr "Képfájl"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr "A mértékegységnek valós azonosítónak kell lennie"
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr "Egység neve"
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr "Szimbólum"
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr "Opcionális mértékegység szimbólum"
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr "Definíció"
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr "Mértékegység definíció"
@@ -3557,19 +3565,28 @@ msgstr "Új {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr "Egy új megrendelés létrehozva, és hozzád rendelve"
-#: common/notifications.py:298 common/notifications.py:305
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr ""
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
msgid "Items Received"
msgstr "Készlet érkezett"
-#: common/notifications.py:300
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Készlet érkezett egy beszerzési megrendeléshez"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr "Készlet érkezett vissza egy visszavétel miatt"
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr "Plugin hiba"
@@ -3877,9 +3894,9 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4042,8 +4059,8 @@ msgstr "Kép letöltése URL-ről"
msgid "Delete image"
msgstr "Kép törlése"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4140,7 +4157,7 @@ msgstr "Beszállítói készlet"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Beszerzési rendelések"
@@ -4163,7 +4180,7 @@ msgstr "Új beszerzési rendelés"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Vevői rendelések"
@@ -4188,7 +4205,7 @@ msgstr "Hozzárendelt készlet"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr "Visszavételek"
@@ -4404,7 +4421,7 @@ msgstr "Alkatrész elérhetőség frissítése"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Készlet tételek"
@@ -4522,7 +4539,7 @@ msgstr "Teljes ár"
msgid "No matching purchase order found"
msgstr "Nincs egyező beszerzési rendelés"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4536,7 +4553,7 @@ msgstr "Nincs egyező beszerzési rendelés"
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4573,7 +4590,7 @@ msgstr "Rendelés leírása (opcionális)"
msgid "Select project code for this order"
msgstr "Válassz projektszámot ehhez a rendeléshez"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Link külső weboldalra"
@@ -4597,11 +4614,11 @@ msgstr "Kapcsolattartó ehhez a rendeléshez"
msgid "Company address for this order"
msgstr "Cég címei ehhez a rendeléshez"
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Rendelés azonosító"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Beszerzési rendelés állapota"
@@ -4622,15 +4639,15 @@ msgstr "Beszállítói rendelés azonosító kód"
msgid "received by"
msgstr "érkeztette"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Kiállítás dátuma"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Kiállítás dátuma"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "Rendelés teljesítési dátuma"
@@ -4638,99 +4655,99 @@ msgstr "Rendelés teljesítési dátuma"
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:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "Mennyiség pozitív kell legyen"
-#: order/models.py:783
+#: order/models.py:791
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:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Vevői azonosító "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr "Megrendelés azonosító kódja a vevőnél"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Kiszállítás dátuma"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "szállította"
-#: order/models.py:860
+#: order/models.py:868
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:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr "Csak nyitott rendelés jelölhető késznek"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak"
-#: order/models.py:870
+#: order/models.py:878
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:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Tétel mennyiség"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr "Sortétel azonosító"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr "Sortétel megjegyzései"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)"
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr "Sortétel leírása (opcionális)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Kontextus"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "További kontextus ehhez a sorhoz"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Egységár"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "törölve"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Rendelés"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Beszállítói alkatrész"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4740,185 +4757,185 @@ msgstr "Beszállítói alkatrész"
msgid "Received"
msgstr "Beérkezett"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Érkezett tételek száma"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Beszerzési ár"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Beszerzési egységár"
-#: order/models.py:1223
+#: order/models.py:1239
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:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Eladási ár"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Eladási egységár"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Szállított mennyiség"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Szállítás dátuma"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr "Szállítási dátum"
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr "Kézbesítés dátuma"
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Ellenőrizte"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Szállítmány"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Szállítmány száma"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Nyomkövetési szám"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Szállítmány nyomkövetési információ"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Számlaszám"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Hozzátartozó számla referencia száma"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "Szállítmány már elküldve"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "Készlet tétel nincs hozzárendelve"
-#: order/models.py:1591
+#: order/models.py:1607
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:1593
+#: order/models.py:1609
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:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
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:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr "Vevői rendelés nem egyezik a szállítmánnyal"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr "Szállítmány nem egyezik a vevői rendeléssel"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Sor"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr "Vevői rendelés szállítmány azonosító"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Tétel"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr "Válaszd ki a foglalásra szánt készlet tételt"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr "Visszavétel azonosító"
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr "Cég akitől a tételek visszavételre kerülnek"
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr "Visszavétel állapota"
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasításhoz"
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr "Visszavétel dátuma"
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr "Mikor lett visszavéve a tétel"
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr "Kimenetel"
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr "Sortétel végső kimenetele"
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr "Sortétel visszaküldésének vagy javításának költsége"
@@ -5568,7 +5585,7 @@ msgstr "Kategória elérési út"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Alkatrészek"
@@ -5651,7 +5668,7 @@ msgstr "Alkatrész kategória"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Alkatrész kategóriák"
@@ -6736,7 +6753,7 @@ msgstr "Leltár információ hozzáadása"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr "Leltár"
@@ -7293,74 +7310,74 @@ msgstr "Nincs megadva művelet"
msgid "No matching action found"
msgstr "Nincs egyező művelet"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr "Hiányzó vonalkód adat"
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Nincs egyező vonalkód"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Egyezés vonalkódra"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr "Ez a vonalkód már egy másik tételé"
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr "Nincs találat a megadott értékre"
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr "Címkenyomtatás sikertelen"
@@ -7378,8 +7395,8 @@ msgstr "Alapvető vonalkód támogatást ad"
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr "InvenTree fejlesztők"
@@ -7481,51 +7498,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7554,7 +7571,7 @@ msgstr "Plugin beállítás"
msgid "Plugin Configurations"
msgstr "Plugin beállítások"
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Kulcs"
@@ -7999,7 +8016,7 @@ msgstr "Törlés ha kimerül"
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr "Lejárati dátum"
@@ -8007,23 +8024,23 @@ msgstr "Lejárati dátum"
msgid "External Location"
msgstr "Külső hely"
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr "Mennyiség megadása kötelező"
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr "Egy érvényes alkatrészt meg kell adni"
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr "A megadott beszállítói alkatrész nem létezik"
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a use_pack_size flag nincs beállítva"
-#: stock/api.py:760
+#: stock/api.py:763
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"
@@ -8047,7 +8064,7 @@ msgstr "Készlet hely"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Készlethelyek"
@@ -8683,7 +8700,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "Lejárt"
@@ -9320,9 +9337,9 @@ msgid "Edit"
msgstr "Szerkesztés"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Törlés"
@@ -9426,7 +9443,7 @@ msgid "Home Page"
msgstr "Főoldal"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9774,7 +9791,7 @@ msgstr "Email cím megerősítése"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Erősítsd meg hogy a %(email)s email a %(user_display)s felhasználó email címe."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Megerősítés"
@@ -9975,6 +9992,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10727,7 +10745,7 @@ msgid "No builds matching query"
msgstr "Nincs a lekérdezéssel egyező gyártási utasítás"
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11128,40 +11146,40 @@ msgstr "Törlés nem engedélyezett"
msgid "View operation not allowed"
msgstr "Megtekintés nem engedélyezett"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr "Form nyitva tartása"
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Adj meg egy érvényes számot"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Form hibák vannak"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "Nincs eredmény"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr "Keresés"
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr "Bevitel törlése"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr "Fájl oszlop"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr "Mező név"
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr "Oszlopok kiválasztása"
@@ -11213,27 +11231,27 @@ msgstr "kiválasztva"
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr "Címkék nyomtatónak elküldve"
@@ -12494,7 +12512,7 @@ msgstr "Kivesz"
msgid "Add Stock"
msgstr "Készlet növelése"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr "Hozzáad"
@@ -13133,7 +13151,7 @@ msgstr "Értesítések megjelenítése"
msgid "New Notifications"
msgstr "Új értesítések"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr "Admin"
@@ -13327,7 +13345,7 @@ msgstr "Jogosultságok"
msgid "Important dates"
msgstr "Fontos dátumok"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13335,67 +13353,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Jogosultságok"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Csoport"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Nézet"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Jogosultság tételek megtekintéséhez"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Jogosultság tételek hozzáadásához"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Módosítás"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Jogosultság tételek szerkesztéséhez"
-#: users/models.py:393
+#: users/models.py:410
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 706f134df543..61823af0a71e 100644
--- a/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -54,7 +54,7 @@ msgstr "Masukkan tanggal"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Domain surel yang diberikan tidak perbolehkan."
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Jumlah yang diberikan tidak valid"
@@ -264,9 +264,9 @@ msgstr "Lampiran"
msgid "Select file to attach"
msgstr "Pilih file untuk dilampirkan"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Komentar"
msgid "File comment"
msgstr "Komentar file"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Pengguna"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "Pilihan tidak valid"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Nama"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Terjadi Kesalahan Server"
msgid "An error has been logged by the server."
msgstr "Sebuah kesalahan telah dicatat oleh server."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Mata Uang"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Nama File"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Nilai tidak valid"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "File data"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Pilih file untuk diunggah"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Jenis file tidak didukung"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Ukuran file terlalu besar"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Tidak ditemukan kolom dalam file"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Tidak ditemukan barisan data dalam file"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Tidak ada barisan data tersedia"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Tidak ada kolom data tersedia"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Kolom yang diperlukan kurang: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Kolom duplikat: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL file gambar external"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Unduhan gambar dari URL external tidak aktif"
@@ -710,7 +710,7 @@ msgstr "Dikembalikan"
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Order Produksi"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Order Produksi"
@@ -991,8 +991,8 @@ msgstr "Pilihan produksi induk tidak valid"
msgid "Build Order Reference"
msgstr "Referensi Order Produksi"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Produksi induk dari produksi ini"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Target tanggal selesai"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Tanggal selesai"
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Tidak ada hasil produksi yang ditentukan"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Hasil produksi sudah selesai"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Hasil produksi tidak sesuai dengan order produksi"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Jumlah harus lebih besar daripada nol"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "Jumlah"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Item stok teralokasikan terlalu banyak"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Jumlah yang dialokasikan harus lebih dari nol"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Jumlah harus 1 untuk stok dengan nomor seri"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "Stok Item"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Sumber stok item"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Jumlah stok yang dialokasikan ke produksi"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Pasang ke"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Tujuan stok item"
@@ -1416,7 +1416,7 @@ msgstr "Alokasikan nomor seri secara otomatis"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "Lokasi hasil pesanan yang selesai"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "Tidak ada tindakan yang ditentukan"
msgid "No matching action found"
msgstr "Aksi tidak ditemukan"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Konfirmasi alamat surel"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Harap konfirmasikan bahwa %(email)s adalah alamat surel untuk pengguna %(user_display)s."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Konfirmasi"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 67b7cb420d32..9603b4768cb6 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -54,7 +54,7 @@ msgstr "Inserisci la data"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "L'indirizzo di posta elettronica fornito non è approvato."
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Quantità inserita non valida"
@@ -264,9 +264,9 @@ msgstr "Allegato"
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Commento"
msgid "File comment"
msgstr "Commento del file"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Utente"
@@ -342,8 +342,8 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore"
msgid "Invalid choice"
msgstr "Scelta non valida"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Nome"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Errore del server"
msgid "An error has been logged by the server."
msgstr "Un errore è stato loggato dal server."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Selezionare la valuta dalle opzioni disponibili"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Nome del file"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Valore non valido"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "File dati"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Seleziona un file per il caricamento"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Formato file non supportato"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "File troppo grande"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Nessun colonna trovata nel file"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Nessuna riga di dati trovata nel file"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Nessun dato fornito"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Nessuna colonna di dati fornita"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonna richiesta mancante: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonna duplicata: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL del file immagine remota"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Il download delle immagini da URL remoto non è abilitato"
@@ -710,7 +710,7 @@ msgstr "Reso"
msgid "In Progress"
msgstr "In corso"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Ordine di Produzione"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Ordini di Produzione"
@@ -991,8 +991,8 @@ msgstr "Scelta non valida per la produzione genitore"
msgid "Build Order Reference"
msgstr "Riferimento Ordine Di Produzione"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Data completamento obiettivo"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Data di completamento"
@@ -1229,37 +1229,37 @@ msgstr "L'ordine di produzione {build} è stato completato"
msgid "A build order has been completed"
msgstr "L'ordine di produzione è stato completato"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Nessun output di produzione specificato"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "La produzione è stata completata"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "L'output della produzione non corrisponde all'ordine di compilazione"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "Quantità"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "L'articolo in giacenza è sovrallocato"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "La quantità di assegnazione deve essere maggiore di zero"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "La quantità deve essere 1 per lo stock serializzato"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "Articoli in magazzino"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Origine giacenza articolo"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Quantità di magazzino da assegnare per la produzione"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Installa in"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Destinazione articolo in giacenza"
@@ -1416,7 +1416,7 @@ msgstr "Numeri di Serie Assegnazione automatica"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "I seguenti numeri di serie sono già esistenti o non sono validi"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "Posizione per gli output di build completati"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr "Outputs Completati"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr "Risorse di magazzino"
msgid "Stock can be taken from any available location."
msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile."
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Destinazione"
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "Nascondi Articoli Inattivi"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Mostra articoli sottoscritti"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Mostra gli articoli sottoscritti nella homepage"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Mostra le categorie sottoscritte"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Mostra le categorie dei componenti sottoscritti nella homepage"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Mostra ultimi articoli"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Mostra gli ultimi articoli sulla homepage"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Mostra distinta base non convalidata"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Mostra le distinte base che attendono la convalida sulla homepage"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Mostra le modifiche recenti alle giacenze"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Mostra le giacenze modificate di recente nella homepage"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Mostra disponibilità scarsa delle giacenze"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Mostra disponibilità scarsa degli articoli sulla homepage"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Mostra scorte esaurite"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Mostra scorte necessarie"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Mostra le scorte degli articoli necessari per la produzione sulla homepage"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Mostra scorte esaurite"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Mostra gli articoli stock scaduti nella home page"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Mostra scorte obsolete"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Mostra gli elementi obsoleti esistenti sulla home page"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Mostra produzioni in attesa"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Mostra produzioni in attesa sulla homepage"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Mostra produzioni in ritardo"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Mostra produzioni in ritardo sulla home page"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Mostra ordini di produzione inevasi"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Mostra ordini di produzione inevasi sulla home page"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Mostra Ordini di Produzione in ritardo"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Mostra Ordini di Produzione in ritardo sulla home page"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Mostra Ordini di Vendita inevasi"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Mostra Ordini di Vendita inevasi sulla home page"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Mostra Ordini di Vendita in ritardo"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr "Mostra Ordini di Vendita in ritardo sulla home page"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Mostra Notizie"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Mostra notizie sulla home page"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:2059
+#: common/models.py:2065
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:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Stampante per etichette predefinita"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr "Configura quale stampante di etichette deve essere selezionata per impostazione predefinita"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:2073
+#: common/models.py:2079
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:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Cerca Articoli"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr "Mostra articoli della ricerca nella finestra di anteprima"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr "Mostra articoli del fornitore nella finestra di anteprima"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Cerca Articoli Produttore"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr "Mostra articoli del produttore nella finestra di anteprima"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Nascondi Articoli Inattivi"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Cerca Categorie"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca"
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Cerca Giacenze"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca"
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr "Nascondi elementi non disponibili"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Escludi gli elementi stock che non sono disponibili dalla finestra di anteprima di ricerca"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Cerca Ubicazioni"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Cerca Aziende"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Mostra le aziende nella finestra di anteprima di ricerca"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Cerca Ordini Di Produzione"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Cerca Ordini di Acquisto"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca"
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr "Escludi Ordini D'Acquisto Inattivi"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Cerca Ordini Di Vendita"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca"
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr "Escludi Ordini Di Vendita Inattivi"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Cerca Ordini Di Reso"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Risultati Dell'Anteprima Di Ricerca"
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr "Numero di risultati da visualizzare in ciascuna sezione della finestra di anteprima della ricerca"
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Ricerca con regex"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Mostra quantità nei moduli"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "Il tasto Esc chiude i moduli"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr "Utilizzare il tasto Esc per chiudere i moduli modali"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Barra di navigazione fissa"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "La posizione della barra di navigazione è fissata nella parte superiore dello schermo"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Formato Data"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Formato predefinito per visualizzare le date"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Programmazione Prodotto"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr "Mostra informazioni sulla pianificazione del prodotto"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Inventario Prodotto"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)"
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr "Lunghezza Stringa Tabella"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste della tabella"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr "Quantità prezzo limite"
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Prezzo"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr "Prezzo unitario in quantità specificata"
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr "Scadenza"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr "Scadenza in cui questa notifica viene ricevuta"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr "Nome per questa notifica"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Attivo"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "È questa notifica attiva"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Token"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Token per l'accesso"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Segreto"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Segreto condiviso per HMAC"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "ID Messaggio"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Identificatore unico per questo messaggio"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Host"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Host da cui questo messaggio è stato ricevuto"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Intestazione"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Intestazione di questo messaggio"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Contenuto"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Contenuto di questo messaggio"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr "Scadenza in cui questo messaggio è stato ricevuto"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr "Lavorato il"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr "Il lavoro su questo messaggio è terminato?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "Id"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Titolo"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Pubblicato"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Autore"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Riepilogo"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr "Letto"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr "Queste notizie sull'elemento sono state lette?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr "Queste notizie sull'elemento sono state lette?"
msgid "Image"
msgstr "Immagine"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr "File immagine"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr "Nuovo {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr "Un nuovo ordine è stato creato e assegnato a te"
-#: common/notifications.py:298 common/notifications.py:305
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr ""
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
msgid "Items Received"
msgstr "Elemento ricevuto"
-#: common/notifications.py:300
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Gli elementi sono stati ricevuti a fronte di un ordine di acquisto"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr "Errore generato dal plugin"
@@ -3876,9 +3893,9 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Scarica immagine dall'URL"
msgid "Delete image"
msgstr "Elimina immagine"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Giacenza Fornitore"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Ordine di acquisto"
@@ -4162,7 +4179,7 @@ msgstr "Nuovo Ordine di Acquisto"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Ordini di Vendita"
@@ -4187,7 +4204,7 @@ msgstr "Assegna Giacenza"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr "Ordini di reso"
@@ -4403,7 +4420,7 @@ msgstr "Aggiorna Disponibilità Articolo"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Articoli in magazzino"
@@ -4521,7 +4538,7 @@ msgstr "Prezzo Totale"
msgid "No matching purchase order found"
msgstr "Nessun ordine di acquisto corrispondente trovato"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato"
msgid "Purchase Order"
msgstr "Ordine D'Acquisto"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr "Descrizione dell'ordine (opzionale)"
msgid "Select project code for this order"
msgstr "Seleziona il codice del progetto per questo ordine"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Collegamento a un sito web esterno"
@@ -4596,11 +4613,11 @@ msgstr "Punto di contatto per questo ordine"
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Riferimento ordine"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Stato ordine d'acquisto"
@@ -4621,15 +4638,15 @@ msgstr "Codice di riferimento ordine fornitore"
msgid "received by"
msgstr "ricevuto da"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Data di emissione"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Data di emissione ordine"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "Data ordine completato"
@@ -4637,99 +4654,99 @@ msgstr "Data ordine completato"
msgid "Part supplier must match PO supplier"
msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione"
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "La quantità deve essere un numero positivo"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Azienda da cui sono stati ordinati gli elementi"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Riferimento Cliente "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr "Codice di riferimento Ordine del Cliente"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Data di spedizione"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "spedito da"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr "L'ordine non può essere completato perché nessun articolo è stato assegnato"
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr "Solo un ordine aperto può essere contrassegnato come completo"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete"
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti"
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Quantità Elementi"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr "Riferimento Linea Elemento"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr "Note linea elemento"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)"
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Contesto"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "Contesto aggiuntivo per questa voce"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Prezzo unitario"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr "L'articolo del fornitore deve corrispondere al fornitore"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "eliminato"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Ordine"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Articolo Fornitore"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr "Articolo Fornitore"
msgid "Received"
msgstr "Ricevuto"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Numero di elementi ricevuti"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Prezzo di Acquisto"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Prezzo di acquisto unitario"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Prezzo di Vendita"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Prezzo unitario di vendita"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Quantità spedita"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Data di spedizione"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Verificato Da"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Utente che ha controllato questa spedizione"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Spedizione"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Numero di spedizione"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Numero di monitoraggio"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Informazioni di monitoraggio della spedizione"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Numero Fattura"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Numero di riferimento per la fattura associata"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "La spedizione è già stata spedita"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "La spedizione non ha articoli di stock assegnati"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "L'elemento di magazzino non è stato assegnato"
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso"
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr "Impossibile allocare stock a una riga senza un articolo"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr "La quantità deve essere 1 per l'elemento serializzato"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr "L'ordine di vendita non corrisponde alla spedizione"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr "La spedizione non corrisponde all'ordine di vendita"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Linea"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr "Riferimento della spedizione ordine di vendita"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Elemento"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr "Seleziona elemento stock da allocare"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Inserisci la quantità assegnata alla giacenza"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr "Seleziona l'elemento da restituire dal cliente"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr "Data di ricezione"
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr "Risultati"
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr "Percorso Categoria"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Articoli"
@@ -5650,7 +5667,7 @@ msgstr "Categoria Articoli"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Categorie Articolo"
@@ -6735,7 +6752,7 @@ msgstr "Aggiungi informazioni inventario"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr "Inventario"
@@ -7292,74 +7309,74 @@ msgstr "Nessuna azione specificata"
msgid "No matching action found"
msgstr "Nessuna azione corrispondente trovata"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr "Codice a barre mancante"
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Nessuna corrispondenza trovata per i dati del codice a barre"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Corrispondenza trovata per i dati del codice a barre"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr "Il codice a barre corrisponde a un elemento esistente"
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr "Nessuna corrispondenza trovata per il valore fornito"
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr "Stampa etichetta fallita"
@@ -7377,8 +7394,8 @@ msgstr "Fornisce supporto nativo per codici a barre"
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr "Contributi d'InvenTree"
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr "Configurazione Plugin"
msgid "Plugin Configurations"
msgstr "Configurazioni Plugin"
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Key"
@@ -7998,7 +8015,7 @@ msgstr "Elimina al esaurimento"
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr "Data di Scadenza"
@@ -8006,23 +8023,23 @@ msgstr "Data di Scadenza"
msgid "External Location"
msgstr "Ubicazione Esterna"
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr "La quantità è richiesta"
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr "Deve essere fornita un articolo valido"
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile"
@@ -8046,7 +8063,7 @@ msgstr "Ubicazione magazzino"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Posizioni magazzino"
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "Scaduto"
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr "Modifica"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Elimina"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr "Home Page"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Conferma l'indirizzo e-mail"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Si prega di confermare che %(email)s è un indirizzo email per l'utente %(user_display)s."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Conferma"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr "Nessuna produzione corrispondente alla ricerca"
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr "Operazione di eliminazione non consentita"
msgid "View operation not allowed"
msgstr "Mostra operazione non consentita"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr "Mantieni aperto questo modulo"
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Inserisci un numero valido"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Esistono errori nel modulo"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "Nessun risultato trovato"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr "Ricerca"
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr "Cancella input"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr "Colonna File"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr "Nome del campo"
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr "Seleziona Colonne"
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr "Etichette inviate alla stampante"
@@ -12493,7 +12511,7 @@ msgstr "Prendi"
msgid "Add Stock"
msgstr "Aggiungi giacenza"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr "Aggiungi"
@@ -13132,7 +13150,7 @@ msgstr "Mostra Notifiche"
msgid "New Notifications"
msgstr "Nuove Notifiche"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr "Amministratore"
@@ -13327,7 +13345,7 @@ msgstr "Permessi"
msgid "Important dates"
msgstr "Date Importanti"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13335,67 +13353,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Impostazione autorizzazioni"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Gruppo"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Visualizza"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Autorizzazione a visualizzare gli articoli"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Autorizzazione ad aggiungere elementi"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Modificare"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Permessi per modificare gli elementi"
-#: users/models.py:393
+#: users/models.py:410
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 84863c4ef71d..2f5759ee3ade 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -54,7 +54,7 @@ msgstr "日付を入力する"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "指定されたメールドメインは承認されていません。"
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "数量コードが無効です"
@@ -264,9 +264,9 @@ msgstr "添付ファイル"
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "コメント:"
msgid "File comment"
msgstr "ファイルコメント"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "ユーザー"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "無効な選択です"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "お名前"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "ファイル名"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "無効な値です。"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "データファイル"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "アップロードするファイルを選択"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "サポートされていないファイル形式"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "ファイルサイズが大きすぎます"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "ファイルに列が見つかりません"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "ファイルにデータ行がみつかりません"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "データが入力されていません"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "データ列が指定されていません"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "必須の列がありません: {name}"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "{col} 列が重複しています。"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "外部画像ファイルのURL"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "外部URLからの画像ダウンロードは許可されていません"
@@ -710,7 +710,7 @@ msgstr "返品済"
msgid "In Progress"
msgstr "処理中"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "組立注文"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "組立注文"
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "数量"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "在庫商品"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "非アクティブな部品を非表示"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "購読中の部品を表示"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "購読中のカテゴリを表示"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "メッセージ ID:"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "在庫商品"
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "外部ページへのリンク"
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "購入金額"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "パーツ"
@@ -5650,7 +5667,7 @@ msgstr "パーツカテゴリ"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "パーツカテゴリ"
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "アクションが指定されていません"
msgid "No matching action found"
msgstr "一致するアクションが見つかりませんでした"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "期限切れ"
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "確認"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr "許可"
msgid "Important dates"
msgstr "重要な日付"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "パーミッション設定"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "グループ"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "表示"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "項目を表示する権限"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "項目を追加する権限"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "変更"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "項目を編集する権限"
-#: users/models.py:393
+#: users/models.py:410
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 4065589e2156..2f8872c6024f 100644
--- a/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -54,7 +54,7 @@ msgstr "날짜 입력"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr ""
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr ""
@@ -264,9 +264,9 @@ msgstr "첨부파일"
msgid "Select file to attach"
msgstr "첨부할 파일을 선택하세요"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "사용자"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "이름"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "파일명"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "지원하지 않는 파일 형식"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "파일이 너무 큽니다"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "파일에서 발견된 세로열 없음."
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "파일에서 발견된 가로열 없음"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "데이터 가로열이 제공되지 않음"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "데이터 세로열이 제공되지 않음"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "사라진 필수 세로열: {name}"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL 주소"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "원격 이미지 파일의 URL"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "원격 URL 에서 이미지 다운로드가 활성화되지 않음"
@@ -710,7 +710,7 @@ msgstr ""
msgid "In Progress"
msgstr "진행 중"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr ""
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "수량 값은 0보다 커야 합니다"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "수량"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "작성자"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr "이미지"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "URL에서 이미지 다운로드"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "키"
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "삭제"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr "홈페이지"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "확인"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr "관리자"
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 f77660296f44..435c5c91ccd2 100644
--- a/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:28\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -54,7 +54,7 @@ msgstr "Voer datum in"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Het ingevoerde e-maildomein is niet goedgekeurd."
msgid "Registration is disabled."
msgstr "Registratie is uitgeschakeld."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Ongeldige hoeveelheid ingevoerd"
@@ -264,9 +264,9 @@ msgstr "Bijlage"
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Opmerking"
msgid "File comment"
msgstr "Bestand opmerking"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Gebruiker"
@@ -342,8 +342,8 @@ msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object"
msgid "Invalid choice"
msgstr "Ongeldige keuze"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Naam"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Serverfout"
msgid "An error has been logged by the server."
msgstr "Er is een fout gelogd door de server."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Selecteer valuta uit beschikbare opties"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Bestandsnaam"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Ongeldige waarde"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Data bestand"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Selecteer een bestand om te uploaden"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Niet ondersteund bestandstype"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Bestand is te groot"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Geen kolommen gevonden in het bestand"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Geen data rijen gevonden in dit bestand"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Geen data rijen opgegeven"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Geen gegevenskolommen opgegeven"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Verplichte kolom ontbreekt: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dubbele kolom: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL van extern afbeeldingsbestand"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
@@ -710,7 +710,7 @@ msgstr "Retour"
msgid "In Progress"
msgstr "In Behandeling"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Productieorder"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Productieorders"
@@ -991,8 +991,8 @@ msgstr "Ongeldige keuze voor bovenliggende productie"
msgid "Build Order Reference"
msgstr "Productieorderreferentie"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Verwachte opleveringsdatum"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Opleveringsdatum"
@@ -1229,37 +1229,37 @@ msgstr "Productieorder {build} is voltooid"
msgid "A build order has been completed"
msgstr "Een productieorder is voltooid"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Geen productie uitvoer opgegeven"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Productie uitvoer is al voltooid"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Productuitvoer komt niet overeen met de Productieorder"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "Hoeveelheid kan niet groter zijn dan aantal"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Bouw object"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr "Bouw object"
msgid "Quantity"
msgstr "Hoeveelheid"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Vereiste hoeveelheid voor bouwopdracht"
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Voorraad item is te veel toegewezen"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Toewijzing hoeveelheid moet groter zijn dan nul"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel"
msgid "Stock Item"
msgstr "Voorraadartikel"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Bron voorraadartikel"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Voorraad hoeveelheid toe te wijzen aan productie"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Installeren in"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Bestemming voorraadartikel"
@@ -1416,7 +1416,7 @@ msgstr "Serienummers automatisch toewijzen"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "De volgende serienummers bestaan al of zijn ongeldig"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "Locatie van voltooide productieuitvoeren"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieorder"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr "Voltooide Uitvoeren"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr "Voorraadbron"
msgid "Stock can be taken from any available location."
msgstr "Voorraad kan worden genomen van elke beschikbare locatie."
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Bestemming"
@@ -2958,558 +2958,566 @@ msgstr "Rapport Verwijdering Interval"
msgid "Stocktake reports will be deleted after specified number of days"
msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "Inactieve Onderdelen Verbergen"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr "Verberg inactieve delen bij items op de homepage"
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Toon geabonneerde onderdelen"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Toon geabonneerde onderdelen op de homepage"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Toon geabonneerde categorieën"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Toon geabonneerde onderdeel categorieën op de startpagina"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Toon laatste onderdelen"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Toon laatste onderdelen op de startpagina"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Toon niet-gevalideerde BOM's"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Laat BOMs zien die wachten op validatie op de startpagina"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Toon recente voorraadwijzigingen"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Toon recent aangepaste voorraadartikelen op de startpagina"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Toon lage voorraad"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Toon lage voorraad van artikelen op de startpagina"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Toon lege voorraad"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Toon lege voorraad van artikelen op de startpagina"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Toon benodigde voorraad"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Toon verlopen voorraad"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Toon verlopen voorraad van artikelen op de startpagina"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Toon verouderde voorraad"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Toon verouderde voorraad van artikelen op de startpagina"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Toon openstaande producties"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Toon openstaande producties op de startpagina"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Toon achterstallige productie"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Toon achterstallige producties op de startpagina"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Toon uitstaande PO's"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Toon uitstaande PO's op de startpagina"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Toon achterstallige PO's"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Toon achterstallige PO's op de startpagina"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Toon uitstaande SO's"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Toon uitstaande SO's op de startpagina"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Toon achterstallige SO's"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr "Toon achterstallige SO's op de startpagina"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr "Toon in behandeling SO verzendingen"
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina"
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Nieuws tonen"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Nieuws op de startpagina weergeven"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Inline labelweergave"
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF-labels in browser weergeven, in plaats van als bestand te downloaden"
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Standaard label printer"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr "Instellen welke label printer standaard moet worden geselecteerd"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Inline rapport weergeven"
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF-rapporten in de browser weergeven, in plaats van als bestand te downloaden"
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Zoek Onderdelen"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr "Onderdelen weergeven in zoekscherm"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr "Zoek leveranciersonderdelen"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr "Leveranciersonderdelen weergeven in zoekscherm"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Fabrikant onderdelen zoeken"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr "Fabrikant onderdelen weergeven in zoekscherm"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Inactieve Onderdelen Verbergen"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr "Inactieve verkooporders weglaten in het zoekvenster"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Zoek categorieën"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr "Toon onderdeelcategorieën in zoekvenster"
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Zoek in Voorraad"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr "Toon voorraad items in zoekvenster"
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr "Verberg niet beschikbare voorraad items"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Voorraadartikelen die niet beschikbaar zijn niet in het zoekvenster weergeven"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Locaties doorzoeken"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Toon voorraadlocaties in zoekvenster"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Zoek bedrijven"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Toon bedrijven in zoekvenster"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Zoek Bouworders"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Toon bouworders in zoekvenster"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Inkooporders Zoeken"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr "Toon inkooporders in het zoekvenster"
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr "Inactieve Inkooporders Weglaten"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inactieve inkooporders weglaten in het zoekvenster"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Verkooporders zoeken"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr "Toon verkooporders in het zoekvenster"
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr "Inactieve Verkooporders Weglaten"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inactieve verkooporders weglaten in het zoekvenster"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Zoek retourorders"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr "Toon bouworders in zoekvenster"
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr "Inactieve retourbestellingen weglaten"
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr "Inactieve retourorders uitsluiten in zoekvenster"
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Zoekvoorbeeld resultaten"
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr "Aantal resultaten om weer te geven in elk gedeelte van het zoekvenster"
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Regex zoeken"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr "Schakel reguliere expressies in zoekopdrachten in"
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr "Hele woorden zoeken"
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten"
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Toon hoeveelheid in formulieren"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "Escape-toets sluit formulieren"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Vaste navigatiebalk"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "De navigatiebalk positie is gefixeerd aan de bovenkant van het scherm"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Datum formaat"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Voorkeursindeling voor weergave van datums"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Onderdeel planning"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr "Toon informatie voor het plannen van onderdelen"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Voorraadcontrole onderdeel"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)"
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr "Tabel tekenreekslengte"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Limiet tekenreeksen voor het weergegeven in tabelweergaven"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr "Standaard sjabloon product onderdeel"
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd"
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr "Standaard sjabloon voorraad onderdeel"
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr "Standaard label van voorraadlocatie"
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Prijs"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr "Eindpunt"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr "Eindpunt waarop deze webhook wordt ontvangen"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr "Naam van deze webhook"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Actief"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "Is deze webhook actief"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Token"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Token voor toegang"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Geheim"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Gedeeld geheim voor HMAC"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "Bericht ID"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Host"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Koptekst"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Koptekst van dit bericht"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Berichtinhoud"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Inhoud van dit bericht"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr "Aan gewerkt"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr "Afbeelding"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr "Een nieuwe order is aangemaakt en aan u toegewezen"
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Artikelen zijn ontvangen tegen een inkooporder"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Afbeelding downloaden van URL"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Inkooporders"
@@ -4162,7 +4179,7 @@ msgstr "Nieuwe Inkooporder"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Verkooporders"
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr "Beschikbaarheid van onderdeel bijwerken"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Voorraadartikelen"
@@ -4521,7 +4538,7 @@ msgstr "Totaalprijs"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr "Inkooporder"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Link naar externe pagina"
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Orderreferentie"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Inkooporder status"
@@ -4621,15 +4638,15 @@ msgstr "Order referentiecode van leverancier"
msgid "received by"
msgstr "ontvangen door"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Datum van uitgifte"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Order uitgegeven op datum"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "Order voltooid op datum"
@@ -4637,99 +4654,99 @@ msgstr "Order voltooid op datum"
msgid "Part supplier must match PO supplier"
msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier"
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "Hoeveelheid moet een positief getal zijn"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Bedrijf waaraan de artikelen worden verkocht"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Klantreferentie "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr "Klant order referentiecode"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Verzenddatum"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "verzonden door"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn"
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn"
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn"
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Hoeveelheid artikelen"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr "Artikelregel referentie"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr "Artikel notities"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Context"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "Additionele context voor deze regel"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Stukprijs"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr "Leveranciersonderdeel moet overeenkomen met leverancier"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "verwijderd"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Order"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Leveranciersonderdeel"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr "Leveranciersonderdeel"
msgid "Received"
msgstr "Ontvangen"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Aantal ontvangen artikelen"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Inkoopprijs"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Aankoopprijs per stuk"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Verkoopprijs"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Prijs per stuk"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Verzonden hoeveelheid"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Datum van verzending"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Gecontroleerd door"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Gebruiker die deze zending gecontroleerd heeft"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Zending"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Zendingsnummer"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Volgnummer"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Zending volginformatie"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Factuurnummer"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Referentienummer voor bijbehorende factuur"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "Verzending is al verzonden"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "Zending heeft geen toegewezen voorraadartikelen"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "Voorraadartikel is niet toegewezen"
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel"
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr "Verkooporder komt niet overeen met zending"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr "Verzending komt niet overeen met verkooporder"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Regel"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr "Verzendreferentie verkooporder"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Artikel"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr "Selecteer voorraadartikel om toe te wijzen"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Voer voorraadtoewijzingshoeveelheid in"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Onderdelen"
@@ -5650,7 +5667,7 @@ msgstr "Onderdeel Categorie"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Onderdeel Categorieën"
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "Geen actie gespecificeerd"
msgid "No matching action found"
msgstr "Geen overeenkomende actie gevonden"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Geen overeenkomst gevonden voor streepjescodegegevens"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Overeenkomst gevonden voor streepjescodegegevens"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr "Voorraadlocatie"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Voorraadlocaties"
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Verwijderen"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr "Startpagina"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Bevestigen"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 ff602d938228..4f8200260baa 100644
--- a/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -32,7 +32,7 @@ msgstr "Ingen verdi angitt"
#: InvenTree/conversion.py:125
#, python-brace-format
msgid "Could not convert {original} to {unit}"
-msgstr ""
+msgstr "Kunne ikke konvertere {original} til {unit}"
#: InvenTree/conversion.py:127
msgid "Invalid quantity supplied"
@@ -54,7 +54,7 @@ msgstr "Oppgi dato"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Det oppgitte e-postdomenet er ikke godkjent."
msgid "Registration is disabled."
msgstr "Registrering er deaktivert."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Ugyldig mengde oppgitt"
@@ -264,9 +264,9 @@ msgstr "Vedlegg"
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Kommentar til fil"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Bruker"
@@ -342,8 +342,8 @@ msgstr "Duplikatnavn kan ikke eksistere under samme overordnede"
msgid "Invalid choice"
msgstr "Ugyldig valg"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Navn"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Serverfeil"
msgid "An error has been logged by the server."
msgstr "En feil har blitt logget av serveren."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Må være et gyldig tall"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Velg valuta ut fra tilgjengelige alternativer"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Filnavn"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Ugyldig verdi"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Velg datafil for opplasting"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Filtypen støttes ikke"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Filen er for stor"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Ingen kolonner funnet i filen"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Ingen datarader funnet i fil"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Ingen datarader oppgitt"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Ingen datakolonner angitt"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Mangler påkrevd kolonne: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dupliaktkolonne: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URLtil ekstern bildefil"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
@@ -710,7 +710,7 @@ msgstr "Returnert"
msgid "In Progress"
msgstr "Pågående"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Build ordre"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Build Ordre"
@@ -991,8 +991,8 @@ msgstr "Ugylding valg for overordnet build"
msgid "Build Order Reference"
msgstr "Bygg ordrereferanse"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Build order som denne build er tildelt til"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ 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:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Fullført dato"
@@ -1229,37 +1229,37 @@ msgstr "Byggeordre {build} er fullført"
msgid "A build order has been completed"
msgstr "Byggeordre er fullført"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Ingen prosjekt utgang"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Prosjekt utdata er allerede utfylt"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "Kvantitet kan ikke være større enn utgangsantallet"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Bygg objekt"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr "Bygg objekt"
msgid "Quantity"
msgstr "Antall"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Påkrved kvantitet for ordre"
-#: build/models.py:1361
+#: build/models.py:1369
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:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Lagervaren er overtildelt"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Tildelingsantall må være større enn null"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Mengden må være 1 for serialisert lagervare"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "Valgt lagervare samsvarer ikke med BOM-linjen"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen"
msgid "Stock Item"
msgstr "Lagervare"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Kildelagervare"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Lagerantall å tildele til produksjonen"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Monteres i"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Lagervare for montering"
@@ -1416,7 +1416,7 @@ msgstr "Automatisk tildeling av serienummer"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "Følgende serienummer finnes allerede eller er ugyldige"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "Plassering for ferdige produksjonsartikler"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr "Fullførte byggeresultater"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr "Lagerkilde"
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:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Destinasjon"
@@ -2958,558 +2958,566 @@ msgstr "Rapportslettingsintervall"
msgid "Stocktake reports will be deleted after specified number of days"
msgstr "Varetellingsrapporter vil slettes etter angitt antall dager"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "Skjul inaktive elementer"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden"
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Vis abonnerte deler"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Vis abonnerte deler på startsiden"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Vis abonnerte kategorier"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Vis abonnerte delkatekorier på startsiden"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Vis nyeste deler"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Vis nyeste deler på startsiden"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Vis uvaliderte stykklister"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Vis stykklister som venter på validering på startsiden"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Vis nylige lagerendringer"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Vis nylig endrede lagervarer på startsiden"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Vis lav lagerbeholdning"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Vis lave lagervarer på startsiden"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Vis tomme lagervarer"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Vis tom lagerbeholdning på startsiden"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Vis nødvendig lagerbeholdning"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Vis lagervarer som trengs for produksjon på startsiden"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Vis utløpt lagerbeholdning"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Vis utløpte lagervarer på startsiden"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Vis foreldet lagerbeholdning"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Vis foreldet lagerbeholdning på startsiden"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Vis ventende produksjoner"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Vi ventende produksjoner på startsiden"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Vis forfalte produksjoner"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Vis forfalte produksjoner på startsiden"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Vis utestående Innkjøpsordrer"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Vis utestående Innkjøpsordrer på startsiden"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Vis forfalte Innkjøpsordrer"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Vis forfalte Innkjøpsordrer på startsiden"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Vis utestående Salgsordrer"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Vis utestående Salgsordrer på startsiden"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Vis forfalte SOer"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr "Vis forfalte SOer på startsiden"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr "Vis ventende SO-forsendelser"
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr "Vis ventende SO-forsendelser på startsiden"
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Vis Nyheter"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Vis nyheter på startsiden"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Innebygd etikettvisning"
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Vis PDF-etiketter i nettleseren fremfor å lastes ned som en fil"
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Standard etikettskriver"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Innebygd rapportvisning"
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Vis PDF-rapporter i nettleseren fremfor å lastes ned som en fil"
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Søk i Deler"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr "Vis deler i forhåndsvsningsvinduet for søk"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr "Søk i Leverandørdeler"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Søk i Produsentdeler"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Skjul Inaktive Deler"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Søk i kategorier"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk"
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Søk i lagerbeholdning"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk"
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr "Skjul utilgjengelige Lagervarer"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Ekskluder lagervarer som ikke er tilgjengelige fra forhåndsvisningsvinduet for søk"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Søk i Plasseringer"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Søk i Firma"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Vis firma i forhåndsvsningsvinduet for søk"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Søk i Produksjonsordrer"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Søk i Innkjøpsordrer"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk"
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr "Ekskluder inaktive Innkjøpsordrer"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Søk i Salgsordrer"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk"
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr "Ekskluder Inaktive Salgsordrer"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Søk i Returordrer"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr "Vis returordrer i forhåndsvisningsvinduet for søk"
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr "Ekskluder Inaktive Returordrer"
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk"
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Forhåndsvisning av søkeresultater"
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr "Antall resultater å vise i hver seksjon av søkeresultatsforhåndsvisningen"
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Regex-søk"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr "Aktiver regulære uttrykk i søkeord"
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr "Helordsøk"
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr "Søk returnerer resultater for treff med hele ord"
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Vis antall i skjemaer"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr "Vis antall tilgjengelige deler i noen skjemaer"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "Escape-knappen lukker skjemaer"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr "Bruk Escape-knappen for å lukke modal-skjemaer"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Fast navigasjonsbar"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Datoformat"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Foretrukket format for å vise datoer"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Delplanlegging"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr "Vis delplanleggingsinformasjon"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Lagertelling for Del"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)"
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr "Tabellstrenglengde"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Maksimal lengdegrense for strenger vist i tabeller"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr "Standard del etikett mal"
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr "Del etikett malen skal velges automatsik"
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr "Standard lagervarer mal"
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr "Lagervarer etikett mal skal valges automatisk"
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr "Standard lagervarer lokasjon etikett mal"
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr "Lagervarer lokasjon etikett malen skal valges automatisk"
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr "Antall for prisbrudd"
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Pris"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr "Enhetspris på spesifisert antall"
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr "Endepunkt"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr "Endepunktet hvor denne webhooken er mottatt"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr "Navn for webhooken"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "Er webhooken aktiv"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Sjetong"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Nøkkel for tilgang"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Hemmelig"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Delt hemmlighet for HMAC"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "Melding ID"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Unik Id for denne meldingen"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Vert"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Verten denne meldingen ble mottatt fra"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Tittel"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Overskrift for denne meldingen"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Brødtekst"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Innholdet i meldingen"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr "Endepunktet meldingen ble mottatt fra"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr "Arbeidet med"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr "Var arbeidet med denne meldingen ferdig?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "Id"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Tittel"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Publisert"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Forfatter"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Sammendrag"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr "Les"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr "Er dette nyhetselementet lest?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr "Er dette nyhetselementet lest?"
msgid "Image"
msgstr "Bilde"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr "Bildefil"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr "Symbol"
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr "Definisjon"
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr "Enhets definisjon"
@@ -3556,19 +3564,28 @@ msgstr "Ny {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr "En ny ordre har blitt opprettet og tilordnet til deg"
-#: common/notifications.py:298 common/notifications.py:305
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr ""
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
msgid "Items Received"
msgstr "Artikler mottatt"
-#: common/notifications.py:300
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Artikler har blitt mottatt mot en innkjøpsordre"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr "Artikler har blitt mottatt mot en returordre"
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr "Feil oppstått i utvidelse"
@@ -3876,9 +3893,9 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel"
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Last ned bilde fra URL"
msgid "Delete image"
msgstr "Slett bilde"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Leverandørs lagerbeholdning"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Innkjøpsordrer"
@@ -4162,7 +4179,7 @@ msgstr "Ny innkjøpsordre"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Salgsordre"
@@ -4187,7 +4204,7 @@ msgstr "Tildelt lagerbeholdning"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr "Returordrer"
@@ -4403,7 +4420,7 @@ msgstr "Oppdater Delens Tilgjengelighet"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Lagervarer"
@@ -4521,7 +4538,7 @@ msgstr "Total pris"
msgid "No matching purchase order found"
msgstr "Ingen samsvarende innkjøpsordre funnet"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet"
msgid "Purchase Order"
msgstr "Innkjøpsordre"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr "Ordrebeskrivelse (valgfritt)"
msgid "Select project code for this order"
msgstr "Velg prosjektkode for denne ordren"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Lenke til ekstern side"
@@ -4596,11 +4613,11 @@ msgstr "Kontaktpunkt for denne ordren"
msgid "Company address for this order"
msgstr "Bedriftsadresse for denne ordren"
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Ordrereferanse"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Status for innkjøpsordre"
@@ -4621,15 +4638,15 @@ msgstr "Leverandør ordrereferanse"
msgid "received by"
msgstr "mottatt av"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Utgivelsesdato"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Dato bestilling ble sendt"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "Dato ordre ble fullført"
@@ -4637,99 +4654,99 @@ msgstr "Dato ordre ble fullført"
msgid "Part supplier must match PO supplier"
msgstr "Delleverandør må matche PO-leverandør"
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "Mengde må være positiv"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Firma som varene selges til"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Kundereferanse "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr "Kundens ordrereferanse"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Leveringsdato"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "sendt av"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr "Bestillingen kan ikke fullføres da ingen deler er tilordnet"
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr "Kun en åpen ordre kan merkes som fullført"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige varepartier"
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler"
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Antall"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr "Linje referanse"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr "Linje notat"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)"
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr "Linjeelementbeskrivelse (valgfritt)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Kontekst"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "Ytterligere kontekst for denne linjen"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Enhetspris"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr "Delens leverandør må samsvare med leverandør"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "slettet"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Ordre"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Leverandørdel"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr "Leverandørdel"
msgid "Received"
msgstr "Mottatt"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Antall enheter mottatt"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Innkjøpspris"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Enhet-innkjøpspris"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Hvor vil innkjøper at artikkelen skal lagres?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Virtuell del kan ikke tildeles salgsordre"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Kun salgbare deler kan tildeles en salgsordre"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Salgspris"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Enhets-salgspris"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Sendt antall"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Dato for forsendelse"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr "Leveringsdato"
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr "Dato for levering av forsendelse"
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Sjekket Av"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Brukeren som sjekket forsendelsen"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Forsendelse"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Forsendelsesnummer"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Sporingsnummer"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Sporingsinformasjon for forsendelse"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Fakturanummer"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Referansenummer for tilknyttet faktura"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "Forsendelsen er allerede sendt"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "Forsendelsen har ingen tildelte lagervarer"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "Lagervarer er ikke blitt tildelt"
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kan ikke tildele lagervare til en linje med annen del"
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr "Antall må være 1 for serialisert lagervare"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr "Salgsordre samsvarer ikke med forsendelse"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr "Forsendelsen samsvarer ikke med salgsordre"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Linje"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr "Forsendelsesreferanse for salgsordre"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Artikkel"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr "Velg lagervare å tildele"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Angi lagertildelingsmengde"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr "Returordre-referanse"
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr "Firmaet delen skal returneres fra"
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr "Returordrestatus"
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr "Kun serialiserte artikler kan tilordnes en Returordre"
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr "Velg artikkel som skal returneres fra kunde"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr "Mottatt Dato"
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr "Datoen denne returartikkelen ble mottatt"
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr "Utfall"
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr "Utfall for dette linjeelementet"
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet"
@@ -5567,7 +5584,7 @@ msgstr "Sti til kategori"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Deler"
@@ -5650,7 +5667,7 @@ msgstr "Delkategori"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Delkategorier"
@@ -6735,7 +6752,7 @@ msgstr "Legg til lagertellingsinformasjon"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr "Lagertelling"
@@ -7292,74 +7309,74 @@ msgstr "Ingen handling spesifisert"
msgid "No matching action found"
msgstr "Ingen samsvarende handling funnet"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr "Mangler strekkodedata"
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Ingen treff funnet for strekkodedata"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Treff funnet for strekkodedata"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr "Strekkode samsvarer med ekisterende element"
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr "Ingen samsvar funnet for angitt verdi"
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr "Utskrift av etikett mislyktes"
@@ -7377,8 +7394,8 @@ msgstr "Gir innebygd støtte for strekkoder"
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr "InvenTree-bidragsytere"
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr "Plugin konfigurasjon"
msgid "Plugin Configurations"
msgstr "Plugin konfigurasjoner"
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Nøkkel"
@@ -7998,7 +8015,7 @@ msgstr "Slett når oppbrukt"
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr "Utløpsdato"
@@ -8006,23 +8023,23 @@ msgstr "Utløpsdato"
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr "Antall kreves"
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr "Gyldig del må oppgis"
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr "Oppgitt leverandørdel eksisterer ikke"
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt"
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Serienumre kan ikke angis for en ikke-sporbar del"
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Denne lagervaren utløp %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "Utløpt"
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Slett"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Bekreft e-postadresse"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Vennligst bekreft at %(email)s er ne e-postadresse for bruker %(user_display)s."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Bekreft"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr "Slett-operasjon ikke tillatt"
msgid "View operation not allowed"
msgstr "Vis-operasjon ikke tillatt"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr "Holde dette skjemaet åpent"
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Angi et gyldig nummer"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Skjemafeil eksisterer"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "Ingen resultater funnet"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr "Søker"
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr "Tøm inndata"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr "Filkolonne"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr "Feltnavn"
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr "Velg Kolonner"
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 c87a7542a71e..f83ac940de8d 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -54,7 +54,7 @@ msgstr "Wprowadź dane"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Podany e-mail domeny nie został zatwierdzony."
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
@@ -264,9 +264,9 @@ msgstr "Załącznik"
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Komentarz"
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Użytkownik"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "Błędny wybór"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Nazwa"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Błąd serwera"
msgid "An error has been logged by the server."
msgstr "Błąd został zapisany w logach serwera."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Waluta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Nazwa pliku"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Nieprawidłowa wartość"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Plik danych"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Wybierz plik danych do przesłania"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Nieobsługiwany typ pliku"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Plik jest zbyt duży"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Nie znaleziono kolumn w pliku"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Nie znaleziono wierszy danych w pliku"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Nie podano wierszy danych"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Nie podano kolumn danych"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Brakuje wymaganej kolumny: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Zduplikowana kolumna: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "Adres URL zdalnego pliku obrazu"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
@@ -710,7 +710,7 @@ msgstr "Zwrócone"
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Zlecenie Budowy"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Zlecenia budowy"
@@ -991,8 +991,8 @@ msgstr "Nieprawidłowy wybór kompilacji nadrzędnej"
msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Docelowy termin zakończenia"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Data zakończenia"
@@ -1229,37 +1229,37 @@ msgstr "Kolejność kompilacji {build} została zakończona"
msgid "A build order has been completed"
msgstr "Kolejność kompilacji została zakończona"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Nie określono danych wyjściowych budowy"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Budowanie wyjścia jest już ukończone"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "Ilość"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Alokowana ilość musi być większa niż zero"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "Element magazynowy"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Lokalizacja magazynowania przedmiotu"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Zainstaluj do"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Docelowa lokalizacja magazynowa przedmiotu"
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr "Źródło magazynu"
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Przeznaczenie"
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Pokaż obserwowane części"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Pokaż obserwowane części na stronie głównej"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Pokaż obserwowane kategorie"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Pokaż obserwowane kategorie części na stronie głównej"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Pokaż najnowsze części"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Pokaż najnowsze części na stronie głównej"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Pokaż niski stan magazynowy"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Pokaż elementy o niskim stanie na stronie głównej"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Pokaż wymagany stan zapasów"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Szukaj części"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Ukryj nieaktywne części"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Pokaż ilość w formularzach"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Stały pasek nawigacyjny"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Format daty"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Preferowany format wyświetlania dat"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Planowanie komponentów"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Cena"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr "Punkt końcowy"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Aktywny"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Sekret"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Współdzielony sekret dla HMAC"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "Id wiadomości"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Unikalny identyfikator dla tej wiadomości"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Host, od którego otrzymano tę wiadomość"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Nagłówek"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Nagłówek tej wiadomości"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Zawartość"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Autor"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr "Obraz"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Pobierz obraz z adresu URL"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Zapasy dostawcy"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Zamówienia zakupu"
@@ -4162,7 +4179,7 @@ msgstr "Nowe zamówienie zakupu"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Towary"
@@ -4521,7 +4538,7 @@ msgstr "Cena całkowita"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Link do zewnętrznej witryny"
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Odniesienie zamówienia"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Status zamówienia zakupu"
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr "odebrane przez"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Data wydania"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Data wystawienia zamówienia"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "Wartość musi być liczbą dodatnią"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Data wysyłki"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "wysłane przez"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Ilość elementów"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Zamówienie"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr "Odebrane"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Cena zakupu"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Cena zakupu jednostkowego"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Gdzie kupujący chce przechowywać ten przedmiot?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Cena sprzedaży"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Jednostkowa cena sprzedaży"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Wysłana ilość"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Data wysyłki"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Sprawdzone przez"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Użytkownik, który sprawdził tę wysyłkę"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Przesyłka"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Numer przesyłki"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Numer śledzenia"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Informacje o śledzeniu przesyłki"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "Przesyłka została już wysłana"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Linia"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Komponent"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr "Ścieżka kategorii"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Części"
@@ -5650,7 +5667,7 @@ msgstr "Kategoria komponentu"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Kategorie części"
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "Nie określono działania"
msgid "No matching action found"
msgstr "Nie znaleziono pasującej akcji"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Nie znaleziono wyników dla danych kodu kreskowego"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Znaleziono wyniki dla danych kodu kreskowego"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr "Konfiguracja wtyczki"
msgid "Plugin Configurations"
msgstr "Konfiguracja wtyczek"
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Klucz"
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr "Data ważności"
@@ -8006,23 +8023,23 @@ msgstr "Data ważności"
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Lokacje stanu magazynowego"
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "Termin minął"
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Usuń"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr "Strona główna"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Potwierdź adres e-mail"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Proszę potwierdzić że %(email)s jest adresem e-mail dla użytkownika %(user_display)s."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Potwierdź"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr "Operacja usuwania nie jest dozwolona"
msgid "View operation not allowed"
msgstr "Operacja przeglądania nie jest dozwolona"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr "Pozostaw ten formularz otwarty"
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Wprowadź poprawny numer"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Istnieją błędy formularza"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "Nie znaleziono wyników"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr "Wyszukiwanie"
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr "Wyczyść wejście"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr "Kolumna pliku"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr "Nazwa pola"
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr "Wybór Kolumn"
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr "Weź"
msgid "Add Stock"
msgstr "Dodaj stan"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr "Dodaj"
@@ -13132,7 +13150,7 @@ msgstr "Pokaż powiadomienia"
msgid "New Notifications"
msgstr "Nowe powiadomienia"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr "Uprawnienia"
msgid "Important dates"
msgstr "Ważne daty"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Uprawnienia nadane"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Grupa"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Widok"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Uprawnienie do wyświetlania przedmiotów"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Uprawnienie do dodawania przedmiotów"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Zmień"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Uprawnienie do edycji przedmiotów"
-#: users/models.py:393
+#: users/models.py:410
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 aeff1a1b295e..2e87652fe9fa 100644
--- a/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -54,7 +54,7 @@ msgstr "Insira uma Data"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "O domínio de e-mail providenciado não foi aprovado."
msgid "Registration is disabled."
msgstr "Cadastro está desativado."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Quantidade fornecida inválida"
@@ -264,9 +264,9 @@ msgstr "Anexo"
msgid "Select file to attach"
msgstr "Selecione arquivo para anexar"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Comentario"
msgid "File comment"
msgstr "Comentario sobre arquivo"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Usuario"
@@ -342,8 +342,8 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental"
msgid "Invalid choice"
msgstr "Escolha inválida"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Nome"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Erro de servidor"
msgid "An error has been logged by the server."
msgstr "Log de erro salvo pelo servidor."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Preicsa ser um numero valido"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Moeda"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Selecione a Moeda nas opções disponíveis"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Nome do arquivo"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Arquivo de dados"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Selecione um arquivo de dados para enviar"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Tipo de arquivo não suportado"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "O arquivo é muito grande"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Nenhuma coluna encontrada no arquivo"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Nenhuma linha de dados encontrada no arquivo"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Nenhuma linha de dados fornecida"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Nenhuma coluna de dados fornecida"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Falta a coluna obrigatória: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Coluna duplicada: \"{col}\""
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Endereço da URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL do arquivo de imagem remoto"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Baixar imagens de URL remota não está habilitado"
@@ -710,7 +710,7 @@ msgstr "Retornado"
msgid "In Progress"
msgstr "Em Progresso"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Ondem de Produção"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Ordens de Produções"
@@ -991,8 +991,8 @@ msgstr "Escolha de Produção parental inválida"
msgid "Build Order Reference"
msgstr "Referência do pedido de produção"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Pedido de produção para qual este serviço está alocado"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Data alvo final"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Data de conclusão"
@@ -1229,37 +1229,37 @@ msgstr "O Pedido de produção {build} foi concluído!"
msgid "A build order has been completed"
msgstr "Um pedido de produção foi concluído"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Nenhuma saída de produção especificada"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Saída de produção já completada"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Saída da produção não corresponde ao Pedido de Produção"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Quantidade deve ser maior que zero"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "Quantidade não pode ser maior do que a quantidade de saída"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Objeto de produção"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr "Objeto de produção"
msgid "Quantity"
msgstr "Quantidade"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Quantidade necessária para o pedido de produção"
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "O item do estoque está sobre-alocado"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Quantidade alocada deve ser maior que zero"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Quantidade deve ser 1 para estoque serializado"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "Item estoque selecionado não coincide com linha da LDM"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr "Item estoque selecionado não coincide com linha da LDM"
msgid "Stock Item"
msgstr "Item de estoque"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Origem do item em estoque"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Quantidade do estoque para alocar à produção"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Instalar em"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Destino do Item do Estoque"
@@ -1416,7 +1416,7 @@ msgstr "Alocar Números de Série Automaticamente"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "Os seguintes números de série já existem ou são inválidos"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "Local para saídas de produção concluídas"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr "Estoque não foi totalmente alocado para este Pedido de Produção"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr "Saídas Concluídas"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr "Origem do estoque"
msgid "Stock can be taken from any available location."
msgstr "O estoque pode ser tirado de qualquer local disponível."
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Destino"
@@ -2958,558 +2958,566 @@ msgstr "Intervalo para Excluir o Relatório"
msgid "Stocktake reports will be deleted after specified number of days"
msgstr "Relatórios de balanço serão apagados após um número de dias especificado"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "Ocultar peças inativas"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr "Ocultar peças inativas nos resultados exibidos na página inicial"
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Mostrar peças subscritas"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Mostrar peças subscritas na tela inicial"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Mostrar categorias subscritas"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Mostrar categorias de peças subscritas na tela inicial"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Mostrar peças mais recentes"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Mostrar as peças mais recentes na página inicial"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Mostrar LDMs não validadas"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Mostrar LDMs que aguardam validação na página inicial"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Mostrar alterações recentes de estoque"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Mostrar itens de estoque alterados recentemente na página inicial"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Mostrar estoque baixo"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Mostrar itens de baixo estoque na página inicial"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Mostrar estoque esgotado"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Mostrar itens sem estoque na página inicial"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Mostrar estoque necessário"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Mostrar itens de estoque necessários para produções na tela inicial"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Mostrar estoque expirado"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Mostrar expirados itens em estoque na tela inicial"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Mostrar estoque inativo"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Mostrar estoque inativo na tela inicial"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Mostrar produções pendentes"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Mostrar produções pendentes na tela inicial"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Mostrar produções atrasadas"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Mostrar produções atrasadas na tela inicial"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Mostrar pedidos de compra pendentes"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Mostrar os Pedidos de Compras pendentes na página inicial"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Mostrar Pedidos de Compra atrasados"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Mostrar pedidos de vendas pendentes"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Mostrar Pedidos de Venda atrasados"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr "Mostrar remessas de OV pendentes"
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr "Mostrar envios OV pendentes na tela inicial"
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Mostrar notícias"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Mostrar notícias na tela inicial"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Mostrar etiqueta em linha"
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Mostrar etiquetas em PDF no navegador, ao invés de baixar o arquivo"
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Impressora de etiquetas padrão"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Mostrar relatório em linha"
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Mostrar relatórios em PDF no navegador, ao invés de baixar o arquivo"
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Procurar Peças"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr "Mostrar peças na janela de visualização de pesquisa"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr "Buscar Peças do Fornecedor"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Buscar peças do fabricante"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Ocultar peças inativas"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr "Não incluir peças inativas na janela de visualização de pesquisa"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Pesquisar Categorias"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr "Mostrar categoria das peças na janela de visualização de pesquisa"
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Pesquisar Estoque"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr "Mostrar itens do estoque na janela de visualização de pesquisa"
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr "Ocultar itens do estoque indisponíveis"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Não incluir itens de estoque que não estão disponíveis na janela de visualização de pesquisa"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Procurar Locais"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Mostrar locais de estoque na janela de visualização de pesquisa"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Pesquisar empresas"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Mostrar empresas na janela de visualização de pesquisa"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Procurar Pedidos de Produção"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Mostrar Pedido de Compras"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa"
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr "Não incluir Pedidos de Compras Inativos"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Procurar Pedidos de Vendas"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa"
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr "Não Incluir Pedidos de Compras Inativas"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Procurar Pedidos de Devolução"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa"
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr "Não Incluir Pedidos de Devolução Inativas"
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr "Não incluir pedidos de devolução inativos na janela de visualização de pesquisa"
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Mostrar Resultados Anteriores"
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr "Número de resultados mostrados em cada seção da janela de visualização de pesquisa"
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Pesquisa de Regex"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr "Permitir expressôes comuns nas conultas de pesquisas"
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr "Busca de Palavras Inteira"
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr "Pesquisa retorna que palavra inteira coincide"
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Mostrar Quantidade nos Formulários"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "Tecla Esc Fecha Formulários"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr "Usar a tecla Esc para fechar fomulários modais"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Fixar Navbar"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "A posição do Navbar é fixa no topo da tela"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Formato da data"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Formato preferido para mostrar datas"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Agendamento de peças"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr "Mostrar informações de agendamento de peças"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Balanço de Peça"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)"
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr "Comprimento da Tabela de Frases"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr "Modelo de rótulo padrão da peça"
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr "O modelo de rótulo da peça a ser selecionado automaticamente"
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr "Modelo padrão de item de estoque"
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr "O modelo de rótulo do item a ser selecionado automaticamente"
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr "Modelo de rótulo de localização do estoque padrão"
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr "O modelo de rótulo do local de estoque a ser selecionado automaticamente"
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr "Receber relatório de erros"
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr "Receber notificações para erros do sistema"
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr "Quantidade de Parcelamentos"
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Preço"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr "Preço unitário na quantidade especificada"
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr "Ponto final"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr "Ponto final em qual o gancho web foi recebido"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr "Nome para este webhook"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Ativo"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "Este gancho web está ativo"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Token"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Token de acesso"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Segredo"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Segredo compartilhado para HMAC"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "ID da Mensagem"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Identificador exclusivo desta mensagem"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Servidor"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Servidor do qual esta mensagem foi recebida"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Cabeçalho"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Cabeçalho da mensagem"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Corpo"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Corpo da mensagem"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr "Ponto do qual esta mensagem foi recebida"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr "Trabalhado em"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr "O trabalho desta mensagem foi concluído?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "Id"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Título"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Publicado"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Autor"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Resumo"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr "Lida"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr "Esta notícia do item foi lida?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr "Esta notícia do item foi lida?"
msgid "Image"
msgstr "Imagem"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr "Arquivo de imagem"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr "Nome da unidade deve ser um identificador válido"
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr "Nome da unidade"
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr "Símbolo"
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr "Símbolo de unidade opcional"
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr "Definição"
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr "Definição de unidade"
@@ -3556,19 +3564,28 @@ msgstr "Novo {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr "Um novo pedido foi criado e atribuído a você"
-#: common/notifications.py:298 common/notifications.py:305
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr ""
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
msgid "Items Received"
msgstr "Itens Recebidos"
-#: common/notifications.py:300
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Os itens de um pedido de compra foram recebidos"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr "Os itens de um pedido de devolução foram recebidos"
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr "Erro criado pela extensão"
@@ -3876,9 +3893,9 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Baixar imagem do URL"
msgid "Delete image"
msgstr "Excluir imagem"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Estoque do Fornecedor"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Pedidos de compra"
@@ -4162,7 +4179,7 @@ msgstr "Novo Pedido de Compra"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Pedidos de vendas"
@@ -4187,7 +4204,7 @@ msgstr "Estoque Atribuído"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr "Pedidos de Devolução"
@@ -4403,7 +4420,7 @@ msgstr "Atualizar disponibilidade de peças"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Itens de Estoque"
@@ -4521,7 +4538,7 @@ msgstr "Preço Total"
msgid "No matching purchase order found"
msgstr "Nenhum pedido de compra correspondente encontrado"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr "Nenhum pedido de compra correspondente encontrado"
msgid "Purchase Order"
msgstr "Pedido de Compra"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr "Descrição do pedido (opcional)"
msgid "Select project code for this order"
msgstr "Selecione o código do projeto para este pedido"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Link para página externa"
@@ -4596,11 +4613,11 @@ msgstr "Ponto de contato para este pedido"
msgid "Company address for this order"
msgstr "Endereço da empresa para este pedido"
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Referência do pedido"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Situação do pedido de compra"
@@ -4621,15 +4638,15 @@ msgstr "Código de referência do pedido fornecedor"
msgid "received by"
msgstr "recebido por"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Data de emissão"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Dia que o pedido foi feito"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "Dia que o pedido foi concluído"
@@ -4637,99 +4654,99 @@ msgstr "Dia que o pedido foi concluído"
msgid "Part supplier must match PO supplier"
msgstr "Fornecedor de peça deve corresponder a fornecedor da OC"
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "Quantidade deve ser um número positivo"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Empresa para qual os itens foi vendidos"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Referência do Cliente "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr "Código de Referência do pedido do cliente"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Data de Envio"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "enviado por"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr "O pedido não pode ser concluído, pois nenhuma parte foi atribuída"
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr "Apenas um pedido aberto pode ser marcado como completo"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Pedido não pode ser concluído, pois, há envios incompletos"
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos"
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Quantidade do item"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr "Referência do Item em Linha"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr "Observações do Item de Linha"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo do pedido)"
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr "Descrição item de linha (opcional)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Contexto"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "Contexto adicional para esta linha"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Preço Unitário"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr "A peça do fornecedor deve corresponder ao fornecedor"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "excluído"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Pedido"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Fornecedor da Peça"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr "Fornecedor da Peça"
msgid "Received"
msgstr "Recebido"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Número de itens recebidos"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Preço de Compra"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Preço unitário de compra"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Onde o Comprador quer que este item seja armazenado?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Peça virtual não pode ser atribuída a um pedido de venda"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Preço de Venda"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Preço de venda unitário"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Quantidade enviada"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Data do envio"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr "Data de Entrega"
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr "Data da entrega do envio"
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Verificado por"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Usuário que verificou esta remessa"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Remessa"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Número do Envio"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Número de Rastreamento"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Informação de rastreamento da remessa"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Número da Fatura"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Número de referência para fatura associada"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "O pedido já foi enviado"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "Remessa não foi alocada nos itens de estoque"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "O item do estoque não foi atribuído"
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente"
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr "Não é possível alocar uma linha sem uma peça"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "A quantidade de alocação não pode exceder a quantidade em estoque"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr "Quantidade deve ser 1 para item de estoque serializado"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr "Pedidos de venda não coincidem com a remessa"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr "Remessa não coincide com pedido de venda"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Linha"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr "Referência de remessa do pedido de venda"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Item"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr "Selecione o item de estoque para alocar"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Insira a quantidade de atribuição de estoque"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr "Referência de Pedidos de Devolução"
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr "Empresa da qual os itens estão sendo retornados"
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr "Estado do pedido de retorno"
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr "Somente itens da série podem ser devolvidos"
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr "Selecione o item a ser devolvido pelo cliente"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr "Data de Recebimento"
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr "Data que o pedido a ser devolvido foi recebido"
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr "Despesa/gastos"
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr "Gastos com esta linha de itens"
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr "Gastos para reparar e/ou devolver esta linha de itens"
@@ -5567,7 +5584,7 @@ msgstr "Caminho da Categoria"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Peças"
@@ -5650,7 +5667,7 @@ msgstr "Categoria da Peça"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Categorias de Peça"
@@ -6735,7 +6752,7 @@ msgstr "Adicionar informações de balanço de estoque"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr "Balanço"
@@ -7292,74 +7309,74 @@ msgstr "Nenhuma ação especificada"
msgid "No matching action found"
msgstr "Nenhuma ação correspondente encontrada"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr "Faltando dados do código de barras"
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Nenhum resultado encontrado para os dados do código de barras"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Coincidência encontrada para dados de código de barras"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr "Código de barras corresponde ao item existente"
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr "Nenhuma correspondência encontrada para o valor fornecido"
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr "Impressão de etiqueta falhou"
@@ -7377,8 +7394,8 @@ msgstr "Fornece suporte nativo para códigos de barras"
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr "Contribuidores do InvenTree"
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr "Configuração de Extensão"
msgid "Plugin Configurations"
msgstr "Configuração de Extensões"
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Chave"
@@ -7998,7 +8015,7 @@ msgstr "Excluir quando esgotado"
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr "Data de validade"
@@ -8006,23 +8023,23 @@ msgstr "Data de validade"
msgid "External Location"
msgstr "Localização externa"
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr "Quantidade obrigatória"
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr "Uma peça válida deve ser fornecida"
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr "A peça do fornecedor informado não existe"
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida"
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Números de série não podem ser fornecidos para uma parte não rastreável"
@@ -8046,7 +8063,7 @@ msgstr "Localização do estoque"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Locais de estoque"
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Este Item do Estoque expirou em %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "Expirado"
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr "Editar"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Excluir"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr "Página Inicial"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Confirmar endereço de e-mail"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Por favor, confirme que %(email)s é um endereço de e-mail para o usuário %(user_display)s."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Confirmar"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr "Nenhuma produção corresponde a consulta"
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr "Operação de excluir não permitida"
msgid "View operation not allowed"
msgstr "Operação de visualização não permitidas"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr "Manter este formulário aberto"
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Insira um número válido"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Há erros de formulário"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "Nenhum resultado encontrado"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr "Buscando"
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr "Limpar entrada"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr "Coluna de arquivos"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr "Nome do Campo"
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr "Selecionar Colunas"
@@ -11212,27 +11230,27 @@ msgstr "selecionado"
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr "Etiquetas enviadas à impressora"
@@ -12493,7 +12511,7 @@ msgstr "Pegar"
msgid "Add Stock"
msgstr "Adicionar Estoque"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr "Adicionar"
@@ -13132,7 +13150,7 @@ msgstr "Mostrar Notificações"
msgid "New Notifications"
msgstr "Novas Notificações"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr "Administrador"
@@ -13327,7 +13345,7 @@ msgstr "Permissões"
msgid "Important dates"
msgstr "Datas importantes"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13335,67 +13353,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Permissão definida"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Grupo"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Visualizar"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Permissão para ver itens"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Permissão para adicionar itens"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Alterar"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Permissões para editar itens"
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr "Permissão para excluir itens"
diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
index 719904a52b30..d5e010c4cd84 100644
--- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-13 12:13+0000\n"
+"POT-Creation-Date: 2023-11-15 12:36+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -55,7 +55,7 @@ msgstr ""
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -128,7 +128,7 @@ msgstr ""
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -369,7 +369,7 @@ msgstr ""
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -445,35 +445,35 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:61 part/models.py:3904
+#: InvenTree/serializers.py:60 part/models.py:3904
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:90 company/models.py:150
+#: InvenTree/serializers.py:89 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:93
+#: InvenTree/serializers.py:92
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:427
+#: InvenTree/serializers.py:339
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:437
+#: InvenTree/serializers.py:349
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:454
+#: InvenTree/serializers.py:366
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:455
+#: InvenTree/serializers.py:367
#, python-brace-format
msgid ""
"Your account has been created.\n"
@@ -481,66 +481,66 @@ msgid ""
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:519
+#: InvenTree/serializers.py:431
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:556
+#: InvenTree/serializers.py:468
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:490
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:579
+#: InvenTree/serializers.py:491
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:600
+#: InvenTree/serializers.py:512
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:518
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:627
+#: InvenTree/serializers.py:539
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:630
+#: InvenTree/serializers.py:542
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:753
+#: InvenTree/serializers.py:665
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:756
+#: InvenTree/serializers.py:668
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:833
+#: InvenTree/serializers.py:745
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:842
+#: InvenTree/serializers.py:754
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:867
+#: InvenTree/serializers.py:779
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:868
+#: InvenTree/serializers.py:780
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:881
+#: InvenTree/serializers.py:793
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -713,7 +713,7 @@ msgstr ""
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -994,8 +994,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1025,7 +1025,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1153,7 +1153,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1232,37 +1232,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1306,36 +1306,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1352,19 +1352,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1419,7 +1419,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1468,8 +1468,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1761,7 +1761,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1798,8 +1798,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1849,7 +1849,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -3386,7 +3386,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
@@ -3559,19 +3559,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3879,9 +3888,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4044,8 +4053,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4524,7 +4533,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4538,7 +4547,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4575,7 +4584,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4599,11 +4608,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4624,15 +4633,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4640,99 +4649,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4742,185 +4751,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -7295,74 +7304,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7380,8 +7389,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7483,51 +7492,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7706,19 +7715,19 @@ msgstr ""
msgid "Test report"
msgstr ""
-#: report/helpers.py:13
+#: report/helpers.py:15
msgid "A4"
msgstr ""
-#: report/helpers.py:14
+#: report/helpers.py:16
msgid "A3"
msgstr ""
-#: report/helpers.py:15
+#: report/helpers.py:17
msgid "Legal"
msgstr ""
-#: report/helpers.py:16
+#: report/helpers.py:18
msgid "Letter"
msgstr ""
@@ -7921,6 +7930,22 @@ msgstr ""
msgid "Serial"
msgstr ""
+#: report/templatetags/report.py:95
+msgid "Asset file does not exist"
+msgstr ""
+
+#: report/templatetags/report.py:144 report/templatetags/report.py:209
+msgid "Image file not found"
+msgstr ""
+
+#: report/templatetags/report.py:230
+msgid "part_image tag requires a Part instance"
+msgstr ""
+
+#: report/templatetags/report.py:269
+msgid "company_image tag requires a Company instance"
+msgstr ""
+
#: stock/admin.py:40 stock/admin.py:126
msgid "Location ID"
msgstr ""
@@ -7993,23 +8018,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -9306,7 +9331,7 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
#: templates/js/translated/stock.js:245 users/models.py:393
msgid "Delete"
@@ -9412,7 +9437,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9760,7 +9785,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
msgid "Confirm"
msgstr ""
@@ -9961,6 +9986,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10713,7 +10739,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159
+#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11114,40 +11140,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:788
+#: templates/js/translated/forms.js:772
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:891
+#: templates/js/translated/forms.js:874
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1461 templates/modals.html:19
+#: templates/js/translated/forms.js:1422 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1959
+#: templates/js/translated/forms.js:1876
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2477
+#: templates/js/translated/forms.js:2394
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:3075
+#: templates/js/translated/forms.js:2863
msgid "Select Columns"
msgstr ""
@@ -11199,27 +11225,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:149
+#: templates/js/translated/label.js:144
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:155
+#: templates/js/translated/label.js:150
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:168
+#: templates/js/translated/label.js:163
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:187
+#: templates/js/translated/label.js:182
msgid "Labels sent to printer"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index 086cbe30b3a4..f25edd7ab06a 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -54,7 +54,7 @@ msgstr "Введите дату"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Указанный домен электронной почты не у
msgid "Registration is disabled."
msgstr "Регистрация отключена."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
@@ -264,9 +264,9 @@ msgstr "Вложения"
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Комментарий"
msgid "File comment"
msgstr "Комментарий к файлу"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Пользователь"
@@ -342,8 +342,8 @@ msgstr "Повторяющиеся имена не могут существов
msgid "Invalid choice"
msgstr "Неверный выбор"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Название"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Ошибка сервера"
msgid "An error has been logged by the server."
msgstr "Сервер зарегистрировал ошибку."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Валюта"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Выберите валюту из доступных вариантов"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Имя файла"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Неверное значение"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Файл данных"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Выберите файл данных для загрузки"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Неподдерживаемый тип файла"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Файл слишком большой"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Столбцы в файле не найдены"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Столбцы данных не предоставлены"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Отсутствует обязательный столбец: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Повторяющийся столбец: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Ссылка"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "ССЫЛКА файла изображения на удаленном сервере"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Загрузка изображений с удаленного URL-адреса не включена"
@@ -710,7 +710,7 @@ msgstr "Возвращено"
msgid "In Progress"
msgstr "Выполняется"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Порядок сборки"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Заказы на сборку"
@@ -991,8 +991,8 @@ msgstr "Неверный выбор для родительской сборки
msgid "Build Order Reference"
msgstr "Ссылка на заказ"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "ПорядокСборки, которому выделяется эта
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Целевая дата завершения"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Дата завершения"
@@ -1229,37 +1229,37 @@ msgstr "Заказ на сборку {build} был завершен"
msgid "A build order has been completed"
msgstr "Заказ на сборку был завершен"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Вывод сборки не указан"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Вывод сборки уже завершен"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Вывод сборки не совпадает с порядком сборки"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "Количество не может быть больше выходного количества"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Построить объект"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr "Построить объект"
msgid "Quantity"
msgstr "Количество"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Требуемое количество для заказа сборки"
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Выделенное количество ({q}) не должно превышать доступное количество на складе ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Предмет на складе перераспределен"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Выделенное количество должно быть больше нуля"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Количество должно быть 1 для сериализованных запасов"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "Выбранный товар на складе не соответствует строке BOM"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr "Выбранный товар на складе не соответст
msgid "Stock Item"
msgstr "Предметы на складе"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Исходный складской предмет"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Количество на складе для построения"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Установить в"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Целевой товар на складе"
@@ -1416,7 +1416,7 @@ msgstr "Автоматически выделить серийные номер
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Автоматически выделять необходимые элементы с соответствующими серийными номерами"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "Следующие серийные номера уже существуют или недействительны"
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr "Расположение для завершенных выходов сборки"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr "Складской источник"
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Назначение"
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Показывать детали, на которые включены уведомления"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Показывать детали, на которые включены уведомления, на главной странице"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Показывать категории, на которые включены уведомления"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Показывать категории, на которые включены уведомления, на главной странице"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Показывать последние детали"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr "Показывать последние детали на главной странице"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Показывать непроверенные BOMы"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Показывать BOMы, ожидающие проверки, на главной странице"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Показывать изменившиеся складские запасы"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Показывать низкие складские запасы"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Показывать закончившиеся детали"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Показывать закончившиеся на складе единицы хранения на главной странице"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Показывать требуемые детали"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Показывать требуемые для сборки единицы хранения на главной странице"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Показывать просрочку"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Показывать залежалые"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Показывать залежалые единицы хранения на главной странице"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Показывать незавершённые сборки"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Показывать незавершённые сборки на главной странице"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Показывать просроченные сборки"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Показывать просроченные сборки на главной странице"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Искать заказы на сборку"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Отображать заказы на сборку в окне предварительного просмотра поиска"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Поиск заказов на продажу"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Поиск возвращенных заказов"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Планирование деталей"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Запасы деталей"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Цена"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Активный"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr "Изображение"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr "Скачать изображение по ссылке"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Склад поставщика"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Заказы на закупку"
@@ -4162,7 +4179,7 @@ msgstr "Новый заказ на закупку"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Заказы на продажу"
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Детали на складе"
@@ -4521,7 +4538,7 @@ msgstr "Общая стоимость"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr "Описание заказа (дополнительно)"
msgid "Select project code for this order"
msgstr "Выберите код проекта для этого заказа"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Компания, которой детали продаются"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr "Описание товара (необязательно)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Контекст"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "Дополнительный контекст для этой строки"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Закупочная цена"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Цена продажи"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Информация об отслеживании доставки"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Укажите количество на складе"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr "Выберите товар возврата от клиента"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr "Путь к категории"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Детали"
@@ -5650,7 +5667,7 @@ msgstr "Категория детали"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Категория детали"
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "Действие не указано"
msgid "No matching action found"
msgstr "Соответствующее действие не найдено"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Не найдено совпадений для данных штрих-кода"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Найдено совпадение по штрих-коду"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr "Необходимо указать количество"
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr "Место хранения"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Места хранения"
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Удалить"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr "Главная страница"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Подтверждение адреса электронной почт
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Пожалуйста, подтвердите, что %(email)s является адресом электронной почты пользователя %(user_display)s."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Подтвердить"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr "Операция удаления не разрешена"
msgid "View operation not allowed"
msgstr "Операция просмотра не разрешена"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Введите корректный номер"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Форма содержит ошибки"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "Не найдено"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr "Права доступа"
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Права доступа"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Вид"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Разрешение на просмотр элементов"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Разрешение на добавление элементов"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Разрешение на редактирование элементов"
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr "Разрешение на удаление элементов"
diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po
index ae2e4ba16e69..b67571d57493 100644
--- a/InvenTree/locale/sl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -54,7 +54,7 @@ msgstr "Vnesi datum"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Domena epošte ni podprta."
msgid "Registration is disabled."
msgstr "Registracija je onemogočena."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Podana napačna količina"
@@ -152,7 +152,7 @@ msgstr "Doseg skupine {group} presega dovoljene količine ({expected_quantity})"
#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598
#, python-brace-format
msgid "Invalid group sequence: {group}"
-msgstr ""
+msgstr "Nepravilno zaporedje skupine: {group}"
#: InvenTree/helpers.py:608
msgid "No serial numbers found"
@@ -160,7 +160,7 @@ msgstr "Serijske številke niso najdene"
#: InvenTree/helpers.py:611
msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})"
-msgstr ""
+msgstr "Število unikatnih serijskih številk ({len(serials)}) se mora ujemati s količino ({expected_quantity})"
#: InvenTree/helpers.py:740
msgid "Remove HTML tags from this value"
@@ -201,14 +201,14 @@ msgstr "Podani URL ni veljavna slikovna datoteka"
#: InvenTree/magic_login.py:28
#, python-brace-format
msgid "[{site.name}] Log in to the app"
-msgstr ""
+msgstr "[{site.name}] Prijave se v aplikacijo"
#: InvenTree/magic_login.py:38 company/models.py:122
#: company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:49
#: templates/js/translated/company.js:667
msgid "Email"
-msgstr ""
+msgstr "E-pošta"
#: InvenTree/models.py:81
msgid "Metadata must be a python dict object"
@@ -264,9 +264,9 @@ msgstr "Priloga"
msgid "Select file to attach"
msgstr "Izberite prilogo"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Komentar"
msgid "File comment"
msgstr "Komentar datoteke"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Uporabnik"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "Nedovoljena izbira"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Ime"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Napaka strežnika"
msgid "An error has been logged by the server."
msgstr "Zaznana napaka na strežniku."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Mora biti veljavna številka"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Ime datoteke"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Neveljavna vrednost"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Podatki datoteke"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Izberite datoteke za naložiti"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Nepodprta vrsta datotek"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Datoteka je prevelika"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "V datoteki ni bilo najdenih stolpcev"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "V datoteki ni bilo njadenih vrstic"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Niso bile podane vrste s podatki"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Niso bili podani stolpci s podatki"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Manjka obvezni stolpec: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dvojni stolpec: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Povezava"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "Povezava do oddaljene slike"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Prenos slik iz oddaljene povezave ni omogočen"
@@ -710,7 +710,7 @@ msgstr "Vrnjeno"
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Nalog izgradnje"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Nalogi izgradnje"
@@ -991,8 +991,8 @@ msgstr "Neveljavna izbira za nadrejeno izgradnjo"
msgid "Build Order Reference"
msgstr "Referenca naloga izgradnje"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Rok dokončanja"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Datom končanja"
@@ -1229,37 +1229,37 @@ msgstr "Nalog izgradnje {build} je dokončan"
msgid "A build order has been completed"
msgstr "Nalog izgradnej dokončan"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Ni določena izgradnja"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Igradnja je že dokončana"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Izgradnja se ne ujema s nalogom izdelave"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "Količina"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Preveč zaloge je prestavljene"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Prestavljena količina mora biti večja od 0"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Količina za zalogo s serijsko številko mora biti 1"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "Postavka zaloge"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Izvorna postavka zaloge"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Količina zaloge za prestavljanje za izgradnjo"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Inštaliraj v"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Destinacija postavke zaloge"
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr ""
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 d76f04833d69..03329823f772 100644
--- a/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -54,7 +54,7 @@ msgstr "Ange datum"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Den angivna e-postdomänen är inte godkänd."
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Ogiltigt antal angivet"
@@ -264,9 +264,9 @@ msgstr "Bilaga"
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Användare"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "Ogiltigt val"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Namn"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Serverfel"
msgid "An error has been logged by the server."
msgstr "Ett fel har loggats av servern."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Välj valuta från tillgängliga alternativ"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Filnamn"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Ogiltigt värde"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Välj fil för uppladdning"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Filtypen stöds inte"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Filen är för stor"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Inga kolumner hittades i filen"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Inga rader hittades i filen"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Inga rader angivna"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Inga datakolumner har angetts"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Saknar obligatorisk kolumn: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicerad kolumn: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL för fjärrbildsfil"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
@@ -710,7 +710,7 @@ msgstr "Återlämnad"
msgid "In Progress"
msgstr "Pågående"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Byggorder"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Byggordrar"
@@ -991,8 +991,8 @@ msgstr "Ogiltigt val för överordnad bygge"
msgid "Build Order Reference"
msgstr "Byggorderreferens"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr "Datum för slutförande"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Slutförandedatum"
@@ -1229,37 +1229,37 @@ msgstr "Byggorder {build} har slutförts"
msgid "A build order has been completed"
msgstr "En byggorder har slutförts"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Ingen byggutgång angiven"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Byggutgång är redan slutförd"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Byggutgång matchar inte bygg order"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "Antal"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Lagerposten är överallokerad"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Allokeringsmängden måste vara större än noll"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Antal måste vara 1 för serialiserat lager"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "Artikel i lager"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Källa lagervara"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Lagersaldo att allokera för att bygga"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Installera till"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Destination lagervara"
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Mål"
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Sök efter artiklar"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr "Sök efter leverantörsartikel"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Sök efter tillverkarartikel"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr "Leveransdatum"
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Artiklar"
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "Ingen åtgärd specificerad"
msgid "No matching action found"
msgstr "Ingen matchande åtgärd hittades"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr "Redigera"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Radera"
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr "Bekräfta e-postadress"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Bekräfta"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 8a8e1468f6b4..68a12a7736b3 100644
--- a/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -54,7 +54,7 @@ msgstr "ป้อนวันที่"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr ""
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "ปริมาณสินค้าไม่ถูกต้อง"
@@ -264,9 +264,9 @@ msgstr "ไฟล์แนบ"
msgid "Select file to attach"
msgstr "เลือกไฟล์ที่ต้องการแนบ"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "ความคิดเห็น"
msgid "File comment"
msgstr "ความเห็นของไฟล์"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "ผู้ใช้งาน"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "ชื่อ"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "ต้องเป็นตัวเลข"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "ชื่อไฟล์"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "ไฟล์ข้อมูล"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "ไฟล์มีขนาดใหญ่เกินไป"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -710,7 +710,7 @@ msgstr "ส่งคืนแล้ว"
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr ""
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr ""
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr ""
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr ""
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr ""
@@ -4162,7 +4179,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr ""
@@ -4187,7 +4204,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr ""
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr ""
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr ""
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr ""
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr ""
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr ""
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr ""
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr ""
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr ""
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:393
+#: users/models.py:410
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 85b15d267f51..2a6226d357d9 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -54,7 +54,7 @@ msgstr "Tarih giriniz"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Sağlanan e-posta alanı onaylanmadı."
msgid "Registration is disabled."
msgstr "Kayıt devre dışı."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
@@ -264,9 +264,9 @@ msgstr "Ek"
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Yorum"
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Kullanıcı"
@@ -342,8 +342,8 @@ msgstr ""
msgid "Invalid choice"
msgstr "Geçersiz seçim"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Adı"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,100 @@ msgstr "Sunucu Hatası"
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Para birimi"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Dosya adı"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Geçersiz değer"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Veri Dosyası"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Yüklemek istediğiniz dosyayı seçin"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Desteklenmeyen dsoya tipi"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Dosya boyutu çok büyük"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Dosyada kolon bulunamadı"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Dosyada uygun kolon bulunamadı"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Gerekli kolon ismi eksik:'{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Tekrarlanan kolon ismi:'{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -710,7 +710,7 @@ msgstr "İade"
msgid "In Progress"
msgstr "Devam Ediyor"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +975,7 @@ msgstr "Yapım İşi Emri"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Yapım İşi Emirleri"
@@ -991,8 +991,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1022,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1150,7 @@ 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:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Tamamlama tarihi"
@@ -1229,37 +1229,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Yapım işi çıktısı belirtilmedi"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Yapım işi çıktısı zaten tamamlanmış"
-#: build/models.py:774
+#: build/models.py:782
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:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1303,36 @@ msgstr ""
msgid "Quantity"
msgstr "Miktar"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
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:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Seri numaralı stok için miktar bir olmalı"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1349,19 @@ msgstr ""
msgid "Stock Item"
msgstr "Stok Kalemi"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Kaynak stok kalemi"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Yapım işi için tahsis edilen stok miktarı"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Kurulduğu yer"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Hedef stok kalemi"
@@ -1416,7 +1416,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1758,7 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1795,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1846,7 @@ 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:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Hedef"
@@ -2958,558 +2958,566 @@ msgstr ""
msgid "Stocktake reports will be deleted after specified number of days"
msgstr ""
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr ""
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr ""
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr ""
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr ""
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr ""
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr ""
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr ""
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr ""
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr ""
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr ""
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr ""
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr ""
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr ""
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr ""
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr ""
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr ""
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr ""
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr ""
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr ""
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr ""
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr ""
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Formlarda Miktarı Göster"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr ""
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr ""
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr ""
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr ""
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr ""
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr ""
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr ""
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr ""
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr ""
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr ""
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr ""
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr ""
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Fiyat"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr ""
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Aktif"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr ""
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr ""
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr ""
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr ""
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr ""
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr ""
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr ""
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr ""
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr ""
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr ""
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr ""
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr ""
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr ""
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr ""
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr ""
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3527,31 @@ msgstr ""
msgid "Image"
msgstr "Resim"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr ""
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr ""
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr ""
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr ""
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr ""
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr ""
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr ""
@@ -3556,19 +3564,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3876,9 +3893,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4058,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4156,7 @@ msgstr "Tedarikçi Stoku"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Satın Alma Emirleri"
@@ -4162,7 +4179,7 @@ msgstr "Yeni Satın Alma Emri"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Satış Emirleri"
@@ -4187,7 +4204,7 @@ msgstr "Atanan Stok"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr ""
@@ -4403,7 +4420,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Stok Kalemleri"
@@ -4521,7 +4538,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4552,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4589,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Harici sayfaya bağlantı"
@@ -4596,11 +4613,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Sipariş referansı"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4621,15 +4638,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4637,99 +4654,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4756,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Tahsis miktarı stok miktarını aşamaz"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr "Seri numaralı stok kalemi için miktar bir olmalı"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Stok tahsis miktarını girin"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -5567,7 +5584,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Parçalar"
@@ -5650,7 +5667,7 @@ msgstr ""
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Parça Kategorileri"
@@ -6735,7 +6752,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr ""
@@ -7292,74 +7309,74 @@ msgstr "İşlem belirtilmedi"
msgid "No matching action found"
msgstr "Eşleşen eylem bulunamadı"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Barkod verisi için eşleşme bulunamadı"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Barkod verisi için eşleşme bulundu"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7394,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7497,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7570,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7998,7 +8015,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8023,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8046,7 +8063,7 @@ msgstr "Stok Konumu"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Stok Konumları"
@@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -9319,9 +9336,9 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr ""
@@ -9425,7 +9442,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9790,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Onay"
@@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10744,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11145,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11212,27 +11230,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
@@ -12493,7 +12511,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr ""
@@ -13132,7 +13150,7 @@ msgstr "Bildirimleri Göster"
msgid "New Notifications"
msgstr "Yeni Bildirimler"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr ""
@@ -13326,7 +13344,7 @@ msgstr "Yetkiler"
msgid "Important dates"
msgstr "Önemli tarihler"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13352,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "İzinleri ayarla"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Grup"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Görünüm"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Parçayı görüntüleme izni"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Parça ekleme izni"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Değiştir"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Parçaları düzenleme izni"
-#: users/models.py:393
+#: users/models.py:410
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 adb6233dfe84..21652799d6c4 100644
--- a/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -54,7 +54,7 @@ msgstr "Nhập ngày"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -127,7 +127,7 @@ msgstr "Miền email được cung cấp không được phê duyệt."
msgid "Registration is disabled."
msgstr "Đăng ký bị vô hiệu hóa."
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "Số lượng cung cấp không hợp lệ"
@@ -264,9 +264,9 @@ msgstr "Đính kèm"
msgid "Select file to attach"
msgstr "Chọn file đính kèm"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -295,13 +295,13 @@ msgstr "Bình luận"
msgid "File comment"
msgstr "Bình luận tệp tin"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
msgstr "Người dùng"
@@ -342,8 +342,8 @@ msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục"
msgid "Invalid choice"
msgstr "Lựa chọn sai"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -368,7 +368,7 @@ msgstr "Tên"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -444,100 +444,101 @@ msgstr "Lỗi máy chủ"
msgid "An error has been logged by the server."
msgstr "Lỗi đã được ghi lại bởi máy chủ."
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
msgstr "Phải là một số hợp lệ"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Tiền tệ"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Chọn tiền tệ trong các tùy chọn đang có"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
-msgstr ""
+msgstr "Bạn không có quyền thay đổi vai trò của người dùng này."
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
-msgstr ""
+msgstr "Chỉ có siêu người dùng là có thể tạo người dùng mới"
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
-msgstr ""
+msgstr "Chào mừng đến với {current_site.name}"
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
-msgstr ""
+msgstr "Tài khoản của bạn đã được tạo.\n\n"
+"Xin hãy sử dụng chức năng quên mật khẩu để truy cập (tại https://{domain})."
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
msgstr "Tên tập tin"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
msgstr "Giá trị không hợp lệ"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
msgstr "Tập tin dữ liệu"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
msgstr "Chọn tệp tin để tải lên"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
msgstr "Loại tệp tin không được hỗ trợ"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
msgstr "Tệp tin quá lớn"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
msgstr "Không tìm thấy cột nào trong tệp tin"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
msgstr "Không tìm thấy dòng nào trong tệp tin"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
msgstr "Chưa có dữ liệu"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
msgstr "Chưa cung cấp cột dữ liệu"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Thiếu cột bắt buộc: '{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Nhân bản cột: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
msgstr "URL của tệp hình ảnh bên ngoài"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật"
@@ -710,7 +711,7 @@ msgstr "Đã trả lại"
msgid "In Progress"
msgstr "Đang tiến hành"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -975,7 +976,7 @@ msgstr "Tạo đơn hàng"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
msgstr "Tạo đơn hàng"
@@ -991,8 +992,8 @@ msgstr "Lựa chọn sai cho bản dựng cha"
msgid "Build Order Reference"
msgstr "Tham chiếu đơn đặt bản dựng"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1022,7 +1023,7 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1150,7 +1151,7 @@ msgstr "Ngày hoàn thành mục tiêu"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Ngày mục tiêu để hoàn thành bản dựng. Bản dựng sẽ bị quá hạn sau ngày này."
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "Ngày hoàn thành"
@@ -1229,37 +1230,37 @@ msgstr "Đơn đặt bản dựng {build} đã được hoàn thành"
msgid "A build order has been completed"
msgstr "Một đơn đặt bản dựng đã được hoàn thành"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "Không có đầu ra bản dựng đã được chỉ ra"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "Đầu ra bản dựng đã được hoàn thiện"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "Số lượng phải lớn hơn 0"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr "Số lượng không thể lớn hơn số lượng đầu ra"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr "Dựng đối tượng"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1303,36 +1304,36 @@ msgstr "Dựng đối tượng"
msgid "Quantity"
msgstr "Số lượng"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr "Yêu cầu số lượng để dựng đơn đặt"
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm chủ được đánh dấu là có thể theo dõi"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "Kho hàng đã bị phân bổ quá đà"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "Số lượng phân bổ phải lớn hơn 0"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "Số lượng phải là 1 cho kho sê ri"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1349,19 +1350,19 @@ msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM"
msgid "Stock Item"
msgstr "Kho hàng"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "Kho hàng gốc"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "Số lượng kho hàng cần chỉ định để xây dựng"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "Cài đặt vào"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "Kho hàng đích"
@@ -1416,7 +1417,7 @@ msgstr "Số sêri tự cấp"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Tự động cấp số seri phù hợp cho hàng hóa được yêu cầu"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "Số sêri sau đây đã tồn tại hoặc không hợp lệ"
@@ -1465,8 +1466,8 @@ msgid "Location for completed build outputs"
msgstr "Vị trí cho đầu ra bản dựng hoàn thiện"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1758,7 +1759,7 @@ msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựn
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1795,8 +1796,8 @@ msgid "Completed Outputs"
msgstr "Đầu ra hoàn thiện"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1846,7 +1847,7 @@ msgstr "Nguồn kho"
msgid "Stock can be taken from any available location."
msgstr "Kho có thể được lấy từ bất kỳ địa điểm nào."
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "Đích đến"
@@ -2958,558 +2959,566 @@ msgstr "Khoảng thời gian xóa báo cáo"
msgid "Stocktake reports will be deleted after specified number of days"
msgstr "Báo cáo kiểm kê sẽ bị xóa sau số ngày xác định"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr "Hiển thị tên đầy đủ của người dùng"
+
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr "Hiển thị tên đầy đủ thay vì tên đăng nhập"
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
msgstr "Khóa thiết lập (phải duy nhất - phân biệt hoa thường"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
msgstr "Ẩn sản phẩm ngừng hoạt động"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
msgstr "Ẩn sản phẩm bị tắt trong kết quả trình bày tại trang chủ"
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
msgstr "Hiện sản phẩm đã đăng ký"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
msgstr "Hiện sản phẩm đã đăng ký trên trang chủ"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
msgstr "Hiện danh mục đã đăng ký"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
msgstr "Hiện danh mục sản phẩm đã đăng ký trên trang chủ"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
msgstr "Hiển thị nguyên liệu mới nhất"
-#: common/models.py:1947
+#: common/models.py:1953
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:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
msgstr "Hiển thị BOM chưa được xác thực"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
msgstr "Hiện BOM chờ xác thực tại trang chủ"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
msgstr "Hiện thay đổi kho hàng gần đây"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
msgstr "Hiện hàng trong kho được thay đổi gần nhất trên trang chủ"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
msgstr "Hiển thị hàng còn ít"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
msgstr "Hiển thị hàng hóa còn ít tại trang chủ"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
msgstr "Hiển thị hết hàng"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
msgstr "Hiển thị hàng hóa đã bán hết tại trang chủ"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
msgstr "Hiển thị hàng cần thiết"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
msgstr "Hiện hàng trong kho cần thiết cho xây dựng tại trang chủ"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
msgstr "Bán kho quá hạn"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
msgstr "Hiển thị hàng hóa đã quá hạn trên trang chủ"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
msgstr "Hiện kho hàng ế"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
msgstr "Hiện hàng trong kho bị ế trên trang chủ"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
msgstr "Hiện bản dựng chờ xử lý"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
msgstr "Hiện bản dựng chờ xử lý trên trang chủ"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
msgstr "Hiện bản dựng quá hạn"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
msgstr "Hiện bản dựng quá hạn trên trang chủ"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
msgstr "Hiện PO nổi bật"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
msgstr "Hiện PO nổi bật trên trang chủ"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
msgstr "Hiện PO quá hạn"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
msgstr "Hiện đơn mua hàng quá hạn trên trang chủ"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
msgstr "Hiện đơn hàng vận chuyển nổi bật"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
msgstr "Hiện đơn hàng vận chuyển nổi bật tại trang chủ"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
msgstr "Hiện đơn vận chuyển quá hạn"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
msgstr "Hiện đơn vận chuyển quá hạn trên trang chủ"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
msgstr "Hiện đơn vận chuyển chờ xử lý"
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
msgstr "Hiện đơn vận chuyển chờ xử lý trên trang chủ"
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
msgstr "Hiện tin tức"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
msgstr "Hiện tin tức trên trang chủ"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
msgstr "Hiển thị nhãn cùng dòng"
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Hiển thị nhãn PDF trong trình duyệt, thay vì tải về dạng tệp tin"
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
msgstr "Máy in tem nhãn mặc định"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
msgstr "Cấu hình máy in tem nhãn nào được chọn mặc định"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
msgstr "Hiển thị báo cáo cùng hàng"
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Hiện báo cáo PDF trong trình duyệt, thay vì tải về dạng tệp tin"
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
msgstr "Tìm sản phẩm"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
msgstr "Hiện hàng hóa trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
msgstr "Tìm sản phẩm nhà cung cấp"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
msgstr "Hiện sản phẩm nhà cung cấp trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
msgstr "Tìm sản phẩm nhà sản xuất"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
msgstr "Hiện sản phẩm nhà sản xuất trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
msgstr "Ẩn sản phẩm ngừng hoạt động"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
msgstr "Loại trừ sản phẩm ngưng hoạt động trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
msgstr "Tìm kiếm danh mục"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
msgstr "Hiện danh mục sản phẩm trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
msgstr "Tìm kiếm kho"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
msgstr "Hiện hàng hóa ở kho trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
msgstr "Ẩn hàng hóa trong kho không có sẵn"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Không bao gồm hàng hóa trong kho mà không sẵn sàng từ màn hình xem trước tìm kiếm"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
msgstr "Tìm kiếm vị trí"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
msgstr "Hiện vị trí kho hàng trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
msgstr "Tìm kiếm công ty"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
msgstr "Hiện công ty trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
msgstr "Tìm kiếm đặt hàng xây dựng"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
msgstr "Hiện đơn đặt xây dựng trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
msgstr "Tìm kiếm đơn đặt mua"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
msgstr "Hiện đơn đặt mua trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
msgstr "Loại trừ đơn đặt mua không hoạt động"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Loại trừ đơn đặt mua không hoạt động ra khỏi cửa sổ xem trước tìm kiếm"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
msgstr "Tìm đơn đặt hàng người mua"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
msgstr "Hiện đơn đặt hàng người mua trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
msgstr "Loại trừ đơn đặt hàng người mua không hoạt động"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
msgstr "Không bao gồm đơn đặt hàng người mua không hoạt động trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
msgstr "Tìm kiếm đơn hàng trả lại"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
msgstr "Hiện đơn hàng trả lại trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
msgstr "Loại trừ đơn hàng trả lại không hoạt động"
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
msgstr "Không bao gồm đơn hàng trả lại không hoạt động trong cửa sổ xem trước tìm kiếm"
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
msgstr "Kết quả xem trước tìm kiếm"
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
msgstr "Số kết quả cần hiển thị trong từng phần của cửa sổ xem trước tìm kiếm"
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
msgstr "Tìm kiếm biểu thức"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
msgstr "Bật tìm kiếm biểu thức chính quy trong câu truy vấn tìm kiếm"
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
msgstr "Tìm phù hợp toàn bộ chữ"
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
msgstr "Truy vấn tìm trả về kết quả phù hợp toàn bộ chữ"
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
msgstr "Hiện số lượng trong biểu mẫu"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
msgstr "Hiển thị số lượng sản phẩm có sẵn trong một số biểu mẫu"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
msgstr "Phím escape để đóng mẫu biểu"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
msgstr "Sử dụng phím escape để đóng mẫu biểu hộp thoại"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
msgstr "Cố định điều hướng"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
msgstr "Vị trí thành điều hướng là cố định trên cùng màn hình"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
msgstr "Định dạng ngày"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
msgstr "Định dạng ưa chuộng khi hiển thị ngày"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Lập lịch sản phẩm"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
msgstr "Hiển thị thông tin lịch sản phẩm"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
msgstr "Kiểm kê sản phẩm"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
msgstr "Hiển thị thông tin kiểm kê sản phẩm (nếu chức năng kiểm kê được bật)"
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
msgstr "Độ dài chuỗi trong bảng"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Giới hạn độ dài tối đa cho chuỗi hiển thị trong kiểu xem bảng biểu"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
msgstr "Mẫu nhãn sản phẩm mặc định"
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
msgstr "Mẫu nhãn sản phẩm mặc định được chọn tự động"
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
msgstr "Mẫu hàng hóa trong khi mặc định"
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
msgstr "Mẫu nhãn hàng hóa trong kho tự động được chọn"
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
msgstr "Mẫu nhãn vị trí kho mặc định"
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
msgstr "Mẫu nhãn vị trí kho được chọn tự động"
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
msgstr "Nhận báo cáo lỗi"
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
msgstr "Nhận thông báo khi có lỗi hệ thống"
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
msgstr "Số lượng giá phá vỡ"
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
msgstr "Giá"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
msgstr "Đơn vị giá theo số lượng cụ thể"
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
msgstr "Đầu mối"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
msgstr "Đầu mối tại điểm webhook được nhận"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
msgstr "Tên của webhook này"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
msgstr "Hoạt động"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
msgstr "Webhook có hoạt động không"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
msgstr "Chữ ký số"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
msgstr "Chữ ký số để truy cập"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
msgstr "Bí mật"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
msgstr "Mã bí mật dùng chung cho HMAC"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
msgstr "Mã Tin nhắn"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
msgstr "Định danh duy nhất cho tin nhắn này"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
msgstr "Máy chủ"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
msgstr "Mãy chủ từ tin nhắn này đã được nhận"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
msgstr "Đầu mục"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
msgstr "Đầu mục tin nhắn"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
msgstr "Thân"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
msgstr "Thân tin nhắn này"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
msgstr "Đầu mối của tin nhắn này đã nhận được"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
msgstr "Làm việc vào"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
msgstr "Công việc trong tin nhắn này đã kết thúc?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
msgstr "Mã"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Tiêu đề"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
msgstr "Đã công bố"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
msgstr "Tác giả"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
msgstr "Tóm tắt"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
msgstr "Đọc"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
msgstr "Tin này đã được đọc?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3519,31 +3528,31 @@ msgstr "Tin này đã được đọc?"
msgid "Image"
msgstr "Hình ảnh"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
msgstr "Tệp ảnh"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
msgstr "Tên đơn vị phải là một định danh hợp lệ"
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
msgstr "Tên đơn vị"
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
msgstr "Biểu tượng"
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
msgstr "Biểu tượng đơn vị tùy chọn"
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
msgstr "Định nghĩa"
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
msgstr "Định nghĩa đơn vị"
@@ -3556,19 +3565,28 @@ msgstr "Mới {verbose_name}"
msgid "A new order has been created and assigned to you"
msgstr "Một đơn đặt hàng mới đã được tạo và phân công cho bạn"
-#: common/notifications.py:298 common/notifications.py:305
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr "{verbose_name} đã bị hủy"
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr "Một đơn đặt từng được phân công cho bạn đã bị hủy bỏ"
+
+#: common/notifications.py:306 common/notifications.py:313
msgid "Items Received"
msgstr "Mục đã nhận"
-#: common/notifications.py:300
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr "Hàng đã được nhận theo đơn đặt mua"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr "Hàng đã nhận theo đơn hàng trả lại"
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr "Lỗi được thông báo bởi phần mở rộng"
@@ -3876,9 +3894,9 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4041,8 +4059,8 @@ msgstr "Tải hình ảnh từ URL"
msgid "Delete image"
msgstr "Xóa ảnh"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4139,7 +4157,7 @@ msgstr "Kho nhà cung cấp"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
msgstr "Đơn mua hàng"
@@ -4162,7 +4180,7 @@ msgstr "Đơn đặt hàng mới"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
msgstr "Đơn hàng bán"
@@ -4187,7 +4205,7 @@ msgstr "Kho đã được giao"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
msgstr "Đơn hàng trả lại"
@@ -4403,7 +4421,7 @@ msgstr "Cập nhật sự sẵn sàng sản phẩm"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
msgstr "Hàng trong kho"
@@ -4521,7 +4539,7 @@ msgstr "Tổng tiền"
msgid "No matching purchase order found"
msgstr "Không tìm thấy đơn đặt mua phù hợp"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4535,7 +4553,7 @@ msgstr "Không tìm thấy đơn đặt mua phù hợp"
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4572,7 +4590,7 @@ msgstr "Mô tả đơn đặt (tùy chọn)"
msgid "Select project code for this order"
msgstr "Mã dự án đã chọn cho đơn đặt hàng này"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr "Liên kết đến trang bên ngoài"
@@ -4596,11 +4614,11 @@ msgstr "Đầu mối liên hệ của đơn đặt này"
msgid "Company address for this order"
msgstr "Địa chỉ công ty cho đơn đặt này"
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr "Mã đặt hàng"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr "Trạng thái đơn đặt mua"
@@ -4621,15 +4639,15 @@ msgstr "Mã tham chiếu đơn đặt nhà cung cấp"
msgid "received by"
msgstr "nhận bởi"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr "Ngày phát hành"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr "Ngày đặt hàng đã phát hành"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr "Ngày đặt hàng đã được hoàn thiện"
@@ -4637,99 +4655,99 @@ msgstr "Ngày đặt hàng đã được hoàn thiện"
msgid "Part supplier must match PO supplier"
msgstr "Nhà cung cấp sản phẩm phải trùng với nhà cung cấp PO"
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "Số lượng phải là số dương"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "Doanh nghiệp từ những hàng hóa đang được bán"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr "Tham chiếu khách hàng "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr "Mã tham chiếu đơn đặt của khách hàng"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr "Ngày giao hàng"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr "vận chuyển bằng"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr "Đơn đặt hàng không thể hoàn thiện vì chưa có sản phẩm nào được chọn"
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr "Những đơn hàng đang mở thì sẽ được đánh dấu là hoàn thành"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Đơn hàng không thể hoàn thành được vì vận chuyển chưa xong"
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Đơn hàng không thể hoàn thành được vì những khoản riêng chưa xong"
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr "Số lượng mặt hàng"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr "Tham chiếu khoản riêng"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr "Ghi chú khoản riêng"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr "Ngày mục tiêu cho khoản riêng này (để trống để sử dụng ngày mục tiêu từ đơn đặt)"
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr "Mô tả khoản riêng (tùy chọn)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr "Ngữ cảnh"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr "Ngữ cảnh bổ sung"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr "Đơn giá"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr "Sản phẩm nhà cung cấp phải phù hợp với nhà cung cung cấp"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr "đã bị xóa"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr "Đặt hàng"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "Sản phẩm nhà cung cấp"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4739,185 +4757,185 @@ msgstr "Sản phẩm nhà cung cấp"
msgid "Received"
msgstr "Đã nhận"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr "Số mục đã nhận"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "Giá mua"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr "Giá đơn vị mua"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Có phải người mua hàng muốn mặt hàng này được tích trữ?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Không thể gán sản phẩm ảo vào trong đơn đặt bán hàng"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr "Chỉ có thể gán sản phẩm có thể bán vào đơn đặt bán hàng"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "Giá bán"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr "Giá bán đơn vị"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr "Số lượng đã vận chuyển"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr "Ngày vận chuyển"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr "Ngày giao hàng"
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr "Ngày giao hàng của vận chuyển"
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr "Kiểm tra bởi"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr "Người dùng đã kiểm tra vận chuyển này"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr "Vận chuyển"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr "Mã vận chuyển"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr "Số theo dõi"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr "Thông tin theo dõi vận chuyển"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr "Mã hóa đơn"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr "Số tham chiếu liên kết với hóa đơn"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr "Vận đơn đã được gửi đi"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr "Vận đơn chưa có hàng hóa được phân bổ"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr "Hàng trong kho chưa được giao"
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Không thể phân bổ hàng hóa vào cùng với dòng với sản phẩm khác"
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr "Không thể phân bổ hàng hóa vào một dòng mà không có sản phẩm nào"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Số lượng phân bổ không thể vượt quá số lượng của kho"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr "Số lượng phải là 1 cho hàng hóa sêri"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr "Đơn bán hàng không phù hợp với vận đơn"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr "Vận đơn không phù hợp với đơn bán hàng"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr "Dòng"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr "Tham chiếu vận đơn của đơn hàng bán"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr "Hàng hóa"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr "Chọn hàng trong kho để phân bổ"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr "Nhập số lượng phân kho"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr "Tham chiếu đơn hàng trả lại"
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr "Công ty có hàng hóa sẽ được trả lại"
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr "Trạng thái đơn hàng trả lại"
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr "Chỉ hàng hóa thêo sêri mới có thể được gán vào đơn hàng trả lại"
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr "Chọn hàng hóa để trả lại từ khách hàng"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr "Ngày nhận được"
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr "Ngày mà hàng hóa trả lại đã được nhận"
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr "Kết quả"
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr "Kết quả cho hàng hóa dòng này"
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hàng hóa này"
@@ -5567,7 +5585,7 @@ msgstr "Đưỡng dẫn danh mục"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
msgstr "Nguyên liệu"
@@ -5650,7 +5668,7 @@ msgstr "Danh mục sản phẩm"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
msgstr "Danh mục sản phẩm"
@@ -6735,7 +6753,7 @@ msgstr "Thêm thông tin kiểm kê"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
msgstr "Kiểm kê"
@@ -7292,74 +7310,74 @@ msgstr "Chưa chỉ ra hành động cụ thể"
msgid "No matching action found"
msgstr "Không tìm thấy chức năng phù hợp"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr "Sai dữ liệu mã vạch"
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "Không tìm thấy dữ liệu mã vạch phù hợp"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "Đã tìm thấy dữ liệu mã vạch phù hợp"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr "Mã vạch phù hợp với hàng hóa hiện có"
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr "Không tìm thấy dữ liệu phù hợp với dữ liệu được cung cấp"
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr "Đơn đặt mua không hợp lệ"
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr "Vị trí kho không hợp lệ"
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr "Hàng hóa này đã được nhận"
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
-msgstr "Mã vạch nhà cung cấp không hợp lệ"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
+msgstr "Không phù hợp với mã vạch nhà cung cấp"
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
-msgstr "Mã vạch nhà cung cấp không chứa mã đơn đặt"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
+msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp cho mã vạch"
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
-msgstr "Phát hiện nhiều đơn đặt mua đã được đặt cho '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
+msgstr "Tìm thấy nhiều đơn đặt mua phù hợp với '{order}'"
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
-msgstr "Không tìm thấy đơn đặt mua cho '{order_number}'"
+msgid "No matching purchase order for '{order}'"
+msgstr "Không có đơn đặt mua phù hợp với '{order}'"
+
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr "Đơn đặt mua không phù hợp với nhà cung cấp"
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr "Không tìm thấy mục dòng chờ xử lý cho sản phẩm nhà cung cấp"
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr "Buộc phải nhập thông tin khác để nhận mục dòng này"
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr "Mục dòng đơn đặt mua đã nhận"
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp cho mã vạch"
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr "In nhãn thất bại"
@@ -7377,8 +7395,8 @@ msgstr "Cung cấp hỗ trợ gốc cho mã vạch"
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr "Người đóng góp InvenTree"
@@ -7446,15 +7464,15 @@ msgstr "Bật chế độ gỡ lỗi - trả về mã HTML thuần thay vì PDF"
#: plugin/builtin/labels/label_sheet.py:29
msgid "Page size for the label sheet"
-msgstr ""
+msgstr "Khổ giấy cho tờ nhãn"
#: plugin/builtin/labels/label_sheet.py:34
msgid "Border"
-msgstr ""
+msgstr "Viền"
#: plugin/builtin/labels/label_sheet.py:35
msgid "Print a border around each label"
-msgstr ""
+msgstr "In một viền xung quanh từng nhãn"
#: plugin/builtin/labels/label_sheet.py:40 report/models.py:203
msgid "Landscape"
@@ -7462,69 +7480,69 @@ msgstr "Ngang"
#: plugin/builtin/labels/label_sheet.py:41
msgid "Print the label sheet in landscape mode"
-msgstr ""
+msgstr "In tờ viền theo khổ giấy nằm ngang"
#: plugin/builtin/labels/label_sheet.py:53
msgid "InvenTree Label Sheet Printer"
-msgstr ""
+msgstr "Máy in tờ nhãn InvenTree"
#: plugin/builtin/labels/label_sheet.py:54
msgid "Arrays multiple labels onto a single sheet"
-msgstr ""
+msgstr "Sắp xếp nhiều nhãn trong một tờ đơn"
#: plugin/builtin/labels/label_sheet.py:87
msgid "Label is too large for page size"
-msgstr ""
+msgstr "Nhãn quá lớn so với khổ giấy"
#: plugin/builtin/labels/label_sheet.py:116
msgid "No labels were generated"
-msgstr ""
+msgstr "Chưa tạo nhãn nào"
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr "Tích hợp nhà cung cấp - DigiKey"
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr "Hỗ trợ quét mã vạch DigiKey"
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr "Nhà cung cấp hành động như 'DigiKey'"
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr "Tích hợp nhà cung cấp - LCSC"
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr "Cung cấp khả năng quét mã vạch LCSC"
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr "Nhà cung cấp hoạt động như 'LCSC'"
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr "Tích hợp nhà cung cấp - Mouser"
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr "Cung cấp khả năng quét mã vạch Mouser"
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr "Nhà cung cấp hành động như 'Mouser'"
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr "Tích hợp nhà cung cấp - TME"
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr "Cung cấp khả năng quét mã vạch TME"
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr "Nhà cung cấp hoạt động như 'TME'"
@@ -7553,7 +7571,7 @@ msgstr "Cấu hình phần bổ sung"
msgid "Plugin Configurations"
msgstr "Cấu hình phần bổ sung"
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr "Khóa"
@@ -7920,19 +7938,19 @@ msgstr "Sê-ri"
#: report/templatetags/report.py:95
msgid "Asset file does not exist"
-msgstr ""
+msgstr "Tệp tin tài sản không tồn tại"
#: report/templatetags/report.py:144 report/templatetags/report.py:209
msgid "Image file not found"
-msgstr ""
+msgstr "Không tìm thấy tệp hình ảnh"
#: report/templatetags/report.py:230
msgid "part_image tag requires a Part instance"
-msgstr ""
+msgstr "thẻ part_image yêu cầu 1 thực thể sản phẩm"
#: report/templatetags/report.py:269
msgid "company_image tag requires a Company instance"
-msgstr ""
+msgstr "thẻ company_image yêu cầu một thực thể doanh nghiệp"
#: stock/admin.py:40 stock/admin.py:126
msgid "Location ID"
@@ -7998,7 +8016,7 @@ msgstr "Xóa khi thiếu hụt"
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr "Ngày hết hạn"
@@ -8006,23 +8024,23 @@ msgstr "Ngày hết hạn"
msgid "External Location"
msgstr "Địa điểm bên ngoài"
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr "Bắt buộc nhập số lượng"
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr "Phải cung cấp sản phẩm hợp lệ"
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr "Sản phẩm nhà cung cấp đã đưa không tồn tại"
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr "Sản phẩm nhà cung cấp có kích thước đóng gói được định nghĩa nhưng cờ use_pack_size chưa được thiết lập"
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Số sê-ri không thê được cung cấp cho sản phẩm không thể theo dõi"
@@ -8046,7 +8064,7 @@ msgstr "Kho hàng"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
msgstr "Vị trí kho hàng"
@@ -8682,7 +8700,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Mặt hàng này hết hạn vào %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr "Đã hết hạn"
@@ -9319,9 +9337,9 @@ msgid "Edit"
msgstr "Sửa"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
msgstr "Xóa"
@@ -9425,7 +9443,7 @@ msgid "Home Page"
msgstr "Trang chủ"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9773,7 +9791,7 @@ msgstr "Xác nhận địa chỉ email"
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Xin hãy xác nhận rằng %(email)s là địa chỉ email cho người dùng %(user_display)s."
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
msgstr "Xác nhận"
@@ -9974,6 +9992,7 @@ msgid "There are pending database migrations which require attention"
msgstr "Có di trú cơ sở dữ liệu đang chờ xử lý cần bạn lưu ý"
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10726,7 +10745,7 @@ msgid "No builds matching query"
msgstr "Không có bản dựng nào phù hợp truy vấn"
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11127,40 +11146,40 @@ msgstr "Hoạt động xóa là không được phép"
msgid "View operation not allowed"
msgstr "Hoạt động xem là không được phép"
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr "Giữ biểu mẫu này mở"
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr "Nhập vào số hợp lệ"
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Lỗi biểu mẫu tồn tại"
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr "Không tìm thấy kết quả"
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr "Đang tìm kiếm"
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr "Dọn dẹp đầu vào"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr "Cột tệp tin"
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr "Tên trường"
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr "Chọn cột"
@@ -11212,27 +11231,27 @@ msgstr "đã chọn"
msgid "Printing Options"
msgstr "Tùy chọn in ấn"
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr "In nhãn"
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr "In nhãn"
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr "In"
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr "Chọn mẫu nhãn"
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr "Chọn phần bổ sung"
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr "Nhãn đã gửi đến máy in"
@@ -12493,7 +12512,7 @@ msgstr "Lấy"
msgid "Add Stock"
msgstr "Thêm kho"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
msgstr "Thêm"
@@ -13132,7 +13151,7 @@ msgstr "Hiển thị thông báo"
msgid "New Notifications"
msgstr "Thông báo mới"
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
msgstr "Quản trị"
@@ -13326,7 +13345,7 @@ msgstr "Quyền"
msgid "Important dates"
msgstr "Ngày quan trọng"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr "Mã thông báo đã bị thu hồi"
@@ -13334,67 +13353,67 @@ msgstr "Mã thông báo đã bị thu hồi"
msgid "Token has expired"
msgstr "Mã thông báo đã hết hạn"
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr "Mã thông báo API"
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr "Mã thông báo API"
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr "Tên mã thông báo"
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr "Tên tùy chỉnh mã thông báo"
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr "Ngày hết hạn mã thông báo"
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr "Xem lần cuối"
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr "Lần cuối mã thông báo được sử dụng"
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr "Đã thu hồi"
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
msgstr "Quyền hạn đã đặt"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
msgstr "Nhóm"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
msgstr "Xem"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
msgstr "Quyền để xem mục"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
msgstr "Quyền để thêm mục"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
msgstr "Đổi"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
msgstr "Quyển để sửa mục"
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
msgstr "Quyền để xóa mục"
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 6e581fc88ca8..9bfd0f47b57c 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,32 +2,32 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-14 03:50+0000\n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"POT-Creation-Date: 2023-11-16 02:19+0000\n"
+"PO-Revision-Date: 2023-11-17 23:10\n"
"Last-Translator: \n"
-"Language-Team: Chinese Traditional\n"
-"Language: zh_TW\n"
+"Language-Team: Chinese Simplified\n"
+"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: inventree\n"
"X-Crowdin-Project-ID: 452300\n"
-"X-Crowdin-Language: zh-TW\n"
+"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
#: InvenTree/api.py:160
msgid "API endpoint not found"
-msgstr "找不到 API 端點"
+msgstr "未找到 API 端点"
#: InvenTree/api.py:425
msgid "User does not have permission to view this model"
-msgstr "使用者沒有檢視此模型的權限"
+msgstr "用户没有权限编辑当前数据。"
#: InvenTree/conversion.py:92
msgid "No value provided"
-msgstr "未提供值"
+msgstr "没有提供日期"
#: InvenTree/conversion.py:125
#, python-brace-format
@@ -36,25 +36,25 @@ msgstr ""
#: InvenTree/conversion.py:127
msgid "Invalid quantity supplied"
-msgstr ""
+msgstr "提供的数量无效"
#: InvenTree/conversion.py:141
#, python-brace-format
msgid "Invalid quantity supplied ({exc})"
-msgstr ""
+msgstr "提供的数量无效 ({exc})"
#: InvenTree/exceptions.py:89
msgid "Error details can be found in the admin panel"
-msgstr "詳細的錯誤訊息可以在管理介面中瀏覽"
+msgstr "在管理面板中可以找到错误详细信息"
#: InvenTree/fields.py:127
msgid "Enter date"
-msgstr "輸入日期"
+msgstr "输入日期"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -72,72 +72,72 @@ msgstr "輸入日期"
#: templates/js/translated/sales_order.js:1982
#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398
msgid "Notes"
-msgstr "備註"
+msgstr "备注"
#: InvenTree/format.py:154
#, python-brace-format
msgid "Value '{name}' does not appear in pattern format"
-msgstr "值「{name}」並沒有在格式內出現"
+msgstr "值 '{name}' 没有以模式格式显示"
#: InvenTree/format.py:164
msgid "Provided value does not match required pattern: "
-msgstr "提供的值不符合要求的格式: "
+msgstr "提供的值与所需模式不匹配: "
#: InvenTree/forms.py:147
msgid "Enter password"
-msgstr "輸入密碼"
+msgstr "输入密码"
#: InvenTree/forms.py:148
msgid "Enter new password"
-msgstr "輸入新的密碼"
+msgstr "输入新密码"
#: InvenTree/forms.py:157
msgid "Confirm password"
-msgstr "確認密碼"
+msgstr "确认密码"
#: InvenTree/forms.py:158
msgid "Confirm new password"
-msgstr "確認新密碼"
+msgstr "确认新密码"
#: InvenTree/forms.py:162
msgid "Old password"
-msgstr "舊密碼"
+msgstr "旧密码"
#: InvenTree/forms.py:199
msgid "Email (again)"
-msgstr "再次輸入Email"
+msgstr "Email (再次)"
#: InvenTree/forms.py:203
msgid "Email address confirmation"
-msgstr "Email地址確認"
+msgstr "Email 地址确认"
#: InvenTree/forms.py:224
msgid "You must type the same email each time."
-msgstr "您必須輸入相同的Email"
+msgstr "您必须输入相同的 Email 。"
#: InvenTree/forms.py:255 InvenTree/forms.py:261
msgid "The provided primary email address is not valid."
-msgstr "所提供的主要Email無效。"
+msgstr "所提供的主要电子邮件地址无效。"
#: InvenTree/forms.py:267
msgid "The provided email domain is not approved."
-msgstr "所提供的Email網域尚未被核准。"
+msgstr "提供的电子邮件域未被核准。"
#: InvenTree/forms.py:371
msgid "Registration is disabled."
-msgstr "註冊功能已停用。"
+msgstr "注册已禁用。"
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
-msgstr "提供的數量無效"
+msgstr "提供的数量无效"
#: InvenTree/helpers.py:460
msgid "Empty serial number string"
-msgstr "序號為空白"
+msgstr "空序列号字符串"
#: InvenTree/helpers.py:490
msgid "Duplicate serial"
-msgstr "重複的序號"
+msgstr "重复的序列号"
#: InvenTree/helpers.py:523 InvenTree/helpers.py:558
#, python-brace-format
@@ -147,112 +147,112 @@ msgstr ""
#: InvenTree/helpers.py:552
#, python-brace-format
msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
-msgstr ""
+msgstr "组 {group} 超出了允许的数量 ({expected_quantity})"
#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598
#, python-brace-format
msgid "Invalid group sequence: {group}"
-msgstr ""
+msgstr "无效的组序列: {group}"
#: InvenTree/helpers.py:608
msgid "No serial numbers found"
-msgstr "找不到序號"
+msgstr "未找到序列号"
#: InvenTree/helpers.py:611
msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})"
-msgstr ""
+msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})"
#: InvenTree/helpers.py:740
msgid "Remove HTML tags from this value"
-msgstr "從這個值中移除HTML標籤"
+msgstr "从这个值中删除 HTML 标签"
#: InvenTree/helpers_model.py:123
msgid "Connection error"
-msgstr "連線錯誤"
+msgstr "连接错误"
#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132
msgid "Server responded with invalid status code"
-msgstr "伺服器回應了無效的狀態碼"
+msgstr "服务器响应状态码无效"
#: InvenTree/helpers_model.py:129
msgid "Exception occurred"
-msgstr "發生異常"
+msgstr "发生异常"
#: InvenTree/helpers_model.py:137
msgid "Server responded with invalid Content-Length value"
-msgstr "伺服器回應了不正確的Content-Length值。"
+msgstr "服务器响应的内容长度值无效"
#: InvenTree/helpers_model.py:140
msgid "Image size is too large"
-msgstr "圖片尺寸過大"
+msgstr "图片尺寸过大"
#: InvenTree/helpers_model.py:152
msgid "Image download exceeded maximum size"
-msgstr "圖片超過最大可下載的尺寸"
+msgstr "图像下载超过最大尺寸"
#: InvenTree/helpers_model.py:157
msgid "Remote server returned empty response"
-msgstr "遠端伺服器回傳了空白回應"
+msgstr "远程服务器返回了空响应"
#: InvenTree/helpers_model.py:165
msgid "Supplied URL is not a valid image file"
-msgstr "提供的URL不是有效的圖片檔案"
+msgstr "提供的 URL 不是一个有效的图片文件"
#: InvenTree/magic_login.py:28
#, python-brace-format
msgid "[{site.name}] Log in to the app"
-msgstr "[{site.name}] 登入 App"
+msgstr "[{site.name}] 登录软件"
#: InvenTree/magic_login.py:38 company/models.py:122
#: company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:49
#: templates/js/translated/company.js:667
msgid "Email"
-msgstr "Email"
+msgstr "电子邮件"
#: InvenTree/models.py:81
msgid "Metadata must be a python dict object"
-msgstr "Metadata必須是一個Python Dictionary物件"
+msgstr "元数据必须是python dict 对象"
#: InvenTree/models.py:85
msgid "Plugin Metadata"
-msgstr "外掛程式Metadata"
+msgstr "插件元数据"
#: InvenTree/models.py:86
msgid "JSON metadata field, for use by external plugins"
-msgstr "外掛程式使用的JSON Metadata欄位"
+msgstr "JSON 元数据字段,供外部插件使用"
#: InvenTree/models.py:312
msgid "Improperly formatted pattern"
-msgstr "格式錯誤"
+msgstr "格式不正确"
#: InvenTree/models.py:319
msgid "Unknown format key specified"
-msgstr "指定了不明的格式鍵值"
+msgstr "指定了未知格式密钥"
#: InvenTree/models.py:325
msgid "Missing required format key"
-msgstr "缺少必須的格式鍵值"
+msgstr "缺少必需的格式密钥"
#: InvenTree/models.py:336
msgid "Reference field cannot be empty"
-msgstr "參考欄位不能空白"
+msgstr "引用字段不能为空"
#: InvenTree/models.py:343
msgid "Reference must match required pattern"
-msgstr "參考欄位並須符合格式"
+msgstr "引用必须匹配所需的模式"
#: InvenTree/models.py:373
msgid "Reference number is too large"
-msgstr "參考編號過大"
+msgstr "参考编号过大"
#: InvenTree/models.py:455
msgid "Missing file"
-msgstr "缺少檔案"
+msgstr "缺少文件"
#: InvenTree/models.py:456
msgid "Missing external link"
-msgstr "缺少外部連結"
+msgstr "缺少外部链接"
#: InvenTree/models.py:475 stock/models.py:2319
#: templates/js/translated/attachment.js:119
@@ -262,11 +262,11 @@ msgstr "附件"
#: InvenTree/models.py:476
msgid "Select file to attach"
-msgstr "選擇附件"
+msgstr "选择附件"
-#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
+#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -279,71 +279,71 @@ msgstr "選擇附件"
#: templates/js/translated/sales_order.js:1056
#: templates/js/translated/sales_order.js:1987
msgid "Link"
-msgstr "連結"
+msgstr "链接"
#: InvenTree/models.py:483 build/models.py:302 part/models.py:869
#: stock/models.py:769
msgid "Link to external URL"
-msgstr "外部URL連結"
+msgstr "链接到外部 URL"
#: InvenTree/models.py:486 templates/js/translated/attachment.js:120
#: templates/js/translated/attachment.js:341
msgid "Comment"
-msgstr "註解"
+msgstr "注释"
#: InvenTree/models.py:486
msgid "File comment"
-msgstr "檔案註解"
+msgstr "文件注释"
-#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321
-#: common/models.py:2322 common/models.py:2534 common/models.py:2535
-#: common/models.py:2791 common/models.py:2792 part/models.py:3017
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327
+#: common/models.py:2328 common/models.py:2540 common/models.py:2541
+#: common/models.py:2797 common/models.py:2798 part/models.py:3017
#: part/models.py:3102 part/models.py:3181 part/models.py:3201
#: plugin/models.py:229 plugin/models.py:230
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3007 users/models.py:85
+#: templates/js/translated/stock.js:3007 users/models.py:102
msgid "User"
-msgstr "使用者"
+msgstr "用户"
#: InvenTree/models.py:496
msgid "upload date"
-msgstr "上傳日期"
+msgstr "上传日期"
#: InvenTree/models.py:517
msgid "Filename must not be empty"
-msgstr "檔名不得空白"
+msgstr "文件名不能为空!"
#: InvenTree/models.py:526
msgid "Invalid attachment directory"
-msgstr "無效的附件目錄"
+msgstr "非法的附件目录"
#: InvenTree/models.py:536
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
-msgstr "檔名內有不允許的字元 '{c}'"
+msgstr "文件名包含非法字符 '{c}'"
#: InvenTree/models.py:539
msgid "Filename missing extension"
-msgstr "檔案名稱缺少副檔名"
+msgstr "缺少文件名扩展"
#: InvenTree/models.py:546
msgid "Attachment with this filename already exists"
-msgstr "已有同檔案名稱的附件"
+msgstr "使用此文件名的附件已存在"
#: InvenTree/models.py:553
msgid "Error renaming file"
-msgstr "重新命名時發生錯誤"
+msgstr "重命名文件出错"
#: InvenTree/models.py:728
msgid "Duplicate names cannot exist under the same parent"
-msgstr "同一個上層元件下不能有重複的名字"
+msgstr "同一个主体下不能有相同名字"
#: InvenTree/models.py:752
msgid "Invalid choice"
-msgstr "無效的選項"
+msgstr "选择无效"
-#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520
-#: common/models.py:2966 company/models.py:524 label/models.py:116
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526
+#: common/models.py:2972 company/models.py:524 label/models.py:116
#: part/models.py:814 part/models.py:3399 plugin/models.py:42
#: report/models.py:170 stock/models.py:71 stock/models.py:72
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -360,7 +360,7 @@ msgstr "無效的選項"
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2747 templates/js/translated/stock.js:2687
msgid "Name"
-msgstr "名稱"
+msgstr "名称"
#: InvenTree/models.py:793 build/models.py:175
#: build/templates/build/detail.html:24 common/models.py:125
@@ -368,7 +368,7 @@ msgstr "名稱"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -397,299 +397,300 @@ msgstr "名稱"
#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028
#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802
msgid "Description"
-msgstr "描述"
+msgstr "描述信息"
#: InvenTree/models.py:794 stock/models.py:79
msgid "Description (optional)"
-msgstr "描述(選填)"
+msgstr "描述 (可选)"
#: InvenTree/models.py:802
msgid "parent"
-msgstr "上層元素"
+msgstr "上级项"
#: InvenTree/models.py:809 InvenTree/models.py:810
#: templates/js/translated/part.js:2792 templates/js/translated/stock.js:2728
msgid "Path"
-msgstr "路徑"
+msgstr "路径"
#: InvenTree/models.py:921
msgid "Markdown notes (optional)"
-msgstr "Markdown 註記(選填)"
+msgstr "Markdown 便笺(可选)"
#: InvenTree/models.py:948
msgid "Barcode Data"
-msgstr "條碼資料"
+msgstr "条码数据"
#: InvenTree/models.py:949
msgid "Third party barcode data"
-msgstr "第三方條碼資料"
+msgstr "第三方条形码数据"
#: InvenTree/models.py:954
msgid "Barcode Hash"
-msgstr "條碼雜湊值"
+msgstr "条码哈希"
#: InvenTree/models.py:955
msgid "Unique hash of barcode data"
-msgstr "條碼資料的唯一雜湊值"
+msgstr "条码数据的唯一哈希"
#: InvenTree/models.py:995
msgid "Existing barcode found"
-msgstr "發現現有條碼"
+msgstr "发现现有条码"
#: InvenTree/models.py:1036
msgid "Server Error"
-msgstr "伺服器錯誤"
+msgstr "服务器错误"
#: InvenTree/models.py:1037
msgid "An error has been logged by the server."
-msgstr "伺服器紀錄了一個錯誤。"
+msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:60 part/models.py:3904
+#: InvenTree/serializers.py:61 part/models.py:3904
msgid "Must be a valid number"
-msgstr "必須是有效的數字"
+msgstr "必须是有效数字"
-#: InvenTree/serializers.py:89 company/models.py:150
+#: InvenTree/serializers.py:90 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
-msgstr "貨幣"
+msgstr "货币"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
-msgstr "從可用選項中選擇貨幣"
+msgstr "从可用选项中选择货币"
-#: InvenTree/serializers.py:339
+#: InvenTree/serializers.py:427
msgid "You do not have permission to change this user role."
-msgstr ""
+msgstr "您没有权限修改此用户角色。"
-#: InvenTree/serializers.py:349
+#: InvenTree/serializers.py:437
msgid "Only superusers can create new users"
-msgstr ""
+msgstr "只有超级用户可以创建新用户"
-#: InvenTree/serializers.py:366
+#: InvenTree/serializers.py:454
#, python-brace-format
msgid "Welcome to {current_site.name}"
-msgstr ""
+msgstr "欢迎到 {current_site.name}"
-#: InvenTree/serializers.py:367
+#: InvenTree/serializers.py:455
#, python-brace-format
msgid "Your account has been created.\n\n"
"Please use the password reset function to get access (at https://{domain})."
-msgstr ""
+msgstr "您的帐户已创建\n"
+"请用密码重置运行功能 (从https://{domain})."
-#: InvenTree/serializers.py:431
+#: InvenTree/serializers.py:519
msgid "Filename"
-msgstr "檔案名稱"
+msgstr "文件名"
-#: InvenTree/serializers.py:468
+#: InvenTree/serializers.py:556
msgid "Invalid value"
-msgstr "無效的值"
+msgstr "无效值"
-#: InvenTree/serializers.py:490
+#: InvenTree/serializers.py:578
msgid "Data File"
-msgstr "資料檔"
+msgstr "数据文件"
-#: InvenTree/serializers.py:491
+#: InvenTree/serializers.py:579
msgid "Select data file for upload"
-msgstr "選擇要上傳的資料檔案"
+msgstr "选择要上传的文件"
-#: InvenTree/serializers.py:512
+#: InvenTree/serializers.py:600
msgid "Unsupported file type"
-msgstr "不支援的檔案類型"
+msgstr "不支持的文件类型"
-#: InvenTree/serializers.py:518
+#: InvenTree/serializers.py:606
msgid "File is too large"
-msgstr "檔案大小過大"
+msgstr "文件过大"
-#: InvenTree/serializers.py:539
+#: InvenTree/serializers.py:627
msgid "No columns found in file"
-msgstr "檔案中找不到欄位"
+msgstr "在文件中没有找到列"
-#: InvenTree/serializers.py:542
+#: InvenTree/serializers.py:630
msgid "No data rows found in file"
-msgstr "檔案中找不到資料列"
+msgstr "在文件中没有找到数据行"
-#: InvenTree/serializers.py:665
+#: InvenTree/serializers.py:753
msgid "No data rows provided"
-msgstr "沒有提供資料列"
+msgstr "没有提供数据行"
-#: InvenTree/serializers.py:668
+#: InvenTree/serializers.py:756
msgid "No data columns supplied"
-msgstr "沒有提供資料欄位"
+msgstr "没有提供数据列"
-#: InvenTree/serializers.py:745
+#: InvenTree/serializers.py:833
#, python-brace-format
msgid "Missing required column: '{name}'"
-msgstr "找不到必須的欄位: 「{name}」"
+msgstr "缺少必需的列:'{name}'"
-#: InvenTree/serializers.py:754
+#: InvenTree/serializers.py:842
#, python-brace-format
msgid "Duplicate column: '{col}'"
-msgstr "重複的欄位:「{col}」"
+msgstr "复制列: '{col}'"
-#: InvenTree/serializers.py:779
+#: InvenTree/serializers.py:867
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:780
+#: InvenTree/serializers.py:868
msgid "URL of remote image file"
-msgstr "遠端圖片的URL"
+msgstr "远程图像文件的 URL"
-#: InvenTree/serializers.py:793
+#: InvenTree/serializers.py:881
msgid "Downloading images from remote URL is not enabled"
-msgstr "尚未啟用從遠端URL下載圖片"
+msgstr "未启用从远程 URL下载图像"
#: InvenTree/settings.py:819
msgid "Bulgarian"
-msgstr ""
+msgstr "保加利亚语"
#: InvenTree/settings.py:820
msgid "Czech"
-msgstr "捷克文"
+msgstr "捷克语"
#: InvenTree/settings.py:821
msgid "Danish"
-msgstr "丹麥文"
+msgstr "丹麦语"
#: InvenTree/settings.py:822
msgid "German"
-msgstr "德文"
+msgstr "德语"
#: InvenTree/settings.py:823
msgid "Greek"
-msgstr "希臘文"
+msgstr "希腊语"
#: InvenTree/settings.py:824
msgid "English"
-msgstr "英文"
+msgstr "英语"
#: InvenTree/settings.py:825
msgid "Spanish"
-msgstr "西班牙文"
+msgstr "西班牙语"
#: InvenTree/settings.py:826
msgid "Spanish (Mexican)"
-msgstr "西班牙文(墨西哥)"
+msgstr "西班牙语(墨西哥)"
#: InvenTree/settings.py:827
msgid "Farsi / Persian"
-msgstr "波斯語"
+msgstr "波斯语"
#: InvenTree/settings.py:828
msgid "Finnish"
-msgstr "芬蘭文"
+msgstr "芬兰语"
#: InvenTree/settings.py:829
msgid "French"
-msgstr "法文"
+msgstr "法语"
#: InvenTree/settings.py:830
msgid "Hebrew"
-msgstr "希伯來文"
+msgstr "希伯来语"
#: InvenTree/settings.py:831
msgid "Hindi"
-msgstr ""
+msgstr "北印度语"
#: InvenTree/settings.py:832
msgid "Hungarian"
-msgstr "匈牙利文"
+msgstr "匈牙利语"
#: InvenTree/settings.py:833
msgid "Italian"
-msgstr "義大利文"
+msgstr "意大利语"
#: InvenTree/settings.py:834
msgid "Japanese"
-msgstr "日文"
+msgstr "日语"
#: InvenTree/settings.py:835
msgid "Korean"
-msgstr "韓文"
+msgstr "韩语"
#: InvenTree/settings.py:836
msgid "Dutch"
-msgstr "荷蘭文"
+msgstr "荷兰语"
#: InvenTree/settings.py:837
msgid "Norwegian"
-msgstr "挪威文"
+msgstr "挪威语"
#: InvenTree/settings.py:838
msgid "Polish"
-msgstr "波蘭文"
+msgstr "波兰语"
#: InvenTree/settings.py:839
msgid "Portuguese"
-msgstr "葡萄牙文"
+msgstr "葡萄牙语"
#: InvenTree/settings.py:840
msgid "Portuguese (Brazilian)"
-msgstr "葡萄牙文(巴西)"
+msgstr "葡萄牙语 (巴西)"
#: InvenTree/settings.py:841
msgid "Russian"
-msgstr "俄文"
+msgstr "俄语"
#: InvenTree/settings.py:842
msgid "Slovenian"
-msgstr "斯洛維尼亞文"
+msgstr "斯洛文尼亚"
#: InvenTree/settings.py:843
msgid "Swedish"
-msgstr "瑞典文"
+msgstr "瑞典语"
#: InvenTree/settings.py:844
msgid "Thai"
-msgstr "泰文"
+msgstr "泰语"
#: InvenTree/settings.py:845
msgid "Turkish"
-msgstr "土耳其文"
+msgstr "土耳其语"
#: InvenTree/settings.py:846
msgid "Vietnamese"
-msgstr "越南文"
+msgstr "越南语"
#: InvenTree/settings.py:847
msgid "Chinese (Simplified)"
-msgstr "中文(简体)"
+msgstr "中文 (简体)"
#: InvenTree/settings.py:848
msgid "Chinese (Traditional)"
-msgstr "中文(繁體)"
+msgstr "中文 (繁体)"
#: InvenTree/status.py:68 part/serializers.py:1002
msgid "Background worker check failed"
-msgstr "背景工作程式檢查失敗"
+msgstr "后台工作人员检查失败"
#: InvenTree/status.py:72
msgid "Email backend not configured"
-msgstr "Email後端尚未設定"
+msgstr "未配置电子邮件后端"
#: InvenTree/status.py:75
msgid "InvenTree system health checks failed"
-msgstr "InvenTree系統健康檢查失敗"
+msgstr "InventTree系统健康检查失败"
#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40
#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167
#: InvenTree/status_codes.py:188 generic/states/tests.py:16
#: templates/js/translated/table_filters.js:594
msgid "Pending"
-msgstr "待處理"
+msgstr "待定"
#: InvenTree/status_codes.py:13 generic/states/tests.py:17
msgid "Placed"
-msgstr "已下單"
+msgstr "已添加"
#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151
#: InvenTree/status_codes.py:172 generic/states/tests.py:18
#: order/templates/order/order_base.html:158
#: order/templates/order/sales_order_base.html:161
msgid "Complete"
-msgstr "已完成"
+msgstr "完成"
#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43
#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173
@@ -699,7 +700,7 @@ msgstr "已取消"
#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44
#: InvenTree/status_codes.py:71
msgid "Lost"
-msgstr "已遺失"
+msgstr "丢失"
#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45
#: InvenTree/status_codes.py:73
@@ -708,14 +709,14 @@ msgstr "已退回"
#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170
msgid "In Progress"
-msgstr "進行中"
+msgstr "正在进行"
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
msgid "Shipped"
-msgstr "已出貨"
+msgstr "已发货"
#: InvenTree/status_codes.py:66
msgid "OK"
@@ -723,143 +724,143 @@ msgstr "OK"
#: InvenTree/status_codes.py:67
msgid "Attention needed"
-msgstr "需要注意"
+msgstr "需要关注"
#: InvenTree/status_codes.py:68
msgid "Damaged"
-msgstr "已破損"
+msgstr "破损"
#: InvenTree/status_codes.py:69
msgid "Destroyed"
-msgstr "已損毀"
+msgstr "已销毁"
#: InvenTree/status_codes.py:70
msgid "Rejected"
-msgstr "已拒絕"
+msgstr "已拒绝"
#: InvenTree/status_codes.py:72
msgid "Quarantined"
-msgstr "已隔離"
+msgstr "隔离"
#: InvenTree/status_codes.py:91
msgid "Legacy stock tracking entry"
-msgstr "舊庫存追蹤項目"
+msgstr "旧库存跟踪条目"
#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544
msgid "Stock item created"
-msgstr "已建立庫存項目"
+msgstr "库存项已创建"
#: InvenTree/status_codes.py:96
msgid "Edited stock item"
-msgstr "編輯庫存項目"
+msgstr "已编辑库存项"
#: InvenTree/status_codes.py:97
msgid "Assigned serial number"
-msgstr "已指派的序號"
+msgstr "已分配序列号"
#: InvenTree/status_codes.py:100
msgid "Stock counted"
-msgstr "已清點"
+msgstr "库存计数"
#: InvenTree/status_codes.py:101
msgid "Stock manually added"
-msgstr "已手動加入庫存"
+msgstr "已手动添加库存"
#: InvenTree/status_codes.py:102
msgid "Stock manually removed"
-msgstr "已手動移除庫存"
+msgstr "库存手动删除"
#: InvenTree/status_codes.py:105
msgid "Location changed"
-msgstr "倉儲地點已變更"
+msgstr "仓储地点已更改"
#: InvenTree/status_codes.py:106
msgid "Stock updated"
-msgstr "庫存已更新"
+msgstr "库存已更新"
#: InvenTree/status_codes.py:109
msgid "Installed into assembly"
-msgstr "已安裝到組件"
+msgstr "安装到组装中"
#: InvenTree/status_codes.py:110
msgid "Removed from assembly"
-msgstr "已從組件移除"
+msgstr "已从组装中删除"
#: InvenTree/status_codes.py:112
msgid "Installed component item"
-msgstr "已安裝的組件項目"
+msgstr "已安装组件项"
#: InvenTree/status_codes.py:113
msgid "Removed component item"
-msgstr "已移除的組件項目"
+msgstr "已删除组件项"
#: InvenTree/status_codes.py:116
msgid "Split from parent item"
-msgstr "從上層元素分拆"
+msgstr "从父项拆分"
#: InvenTree/status_codes.py:117
msgid "Split child item"
-msgstr "分拆下層元素"
+msgstr "拆分子项"
#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826
msgid "Merged stock items"
-msgstr "已合併的庫存項目"
+msgstr "合并的库存项目"
#: InvenTree/status_codes.py:123
msgid "Converted to variant"
-msgstr "已轉換成變體"
+msgstr "转换为变量"
#: InvenTree/status_codes.py:126
msgid "Build order output created"
-msgstr "工單產出已建立"
+msgstr "已创建生产订单输出"
#: InvenTree/status_codes.py:127
msgid "Build order output completed"
-msgstr "工單產出已完成"
+msgstr "生产订单输出已完成"
#: InvenTree/status_codes.py:128
msgid "Build order output rejected"
-msgstr "工單產出已拒絕"
+msgstr "生成订单输出被拒绝"
#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732
msgid "Consumed by build order"
-msgstr "被工單消耗的"
+msgstr "被生产订单消耗"
#: InvenTree/status_codes.py:132
msgid "Shipped against Sales Order"
-msgstr "按銷售訂單出貨"
+msgstr "根据销售订单运输"
#: InvenTree/status_codes.py:135
msgid "Received against Purchase Order"
-msgstr "按採購訂單接收"
+msgstr "根据定单收到"
#: InvenTree/status_codes.py:138
msgid "Returned against Return Order"
-msgstr "按退貨訂單退回"
+msgstr "根据退货单退货"
#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375
msgid "Sent to customer"
-msgstr "寄送給客戶"
+msgstr "发送给客户"
#: InvenTree/status_codes.py:142
msgid "Returned from customer"
-msgstr "從客戶端退回"
+msgstr "从客户退货"
#: InvenTree/status_codes.py:149
msgid "Production"
-msgstr "生產"
+msgstr "生产中"
#: InvenTree/status_codes.py:191
msgid "Return"
-msgstr "退回"
+msgstr "已退回"
#: InvenTree/status_codes.py:194
msgid "Repair"
-msgstr "維修"
+msgstr "修复"
#: InvenTree/status_codes.py:197
msgid "Replace"
-msgstr "替換"
+msgstr "替换"
#: InvenTree/status_codes.py:200
msgid "Refund"
@@ -867,55 +868,55 @@ msgstr "退款"
#: InvenTree/status_codes.py:203
msgid "Reject"
-msgstr "拒絕"
+msgstr "拒绝"
#: InvenTree/validators.py:31 InvenTree/validators.py:33
msgid "Invalid physical unit"
-msgstr ""
+msgstr "无效的物件单位"
#: InvenTree/validators.py:39
msgid "Not a valid currency code"
-msgstr "無效的貨幣代碼"
+msgstr "不是有效的货币代码"
#: InvenTree/validators.py:106 InvenTree/validators.py:122
msgid "Overage value must not be negative"
-msgstr "損失值不能為負"
+msgstr "备损值不能为负数"
#: InvenTree/validators.py:124
msgid "Overage must not exceed 100%"
-msgstr "損失率不能超過100%"
+msgstr "备损不能超过 100%"
#: InvenTree/validators.py:131
msgid "Invalid value for overage"
-msgstr "無效的損失值"
+msgstr "无效的备损值"
#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23
msgid "Edit User Information"
-msgstr "編輯使用者資訊"
+msgstr "编辑用户信息"
#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20
msgid "Set Password"
-msgstr "設定密碼"
+msgstr "设置密码"
#: InvenTree/views.py:437
msgid "Password fields must match"
-msgstr "密碼必須相符"
+msgstr "密码字段必须相匹配。"
#: InvenTree/views.py:445
msgid "Wrong password provided"
-msgstr "密碼錯誤"
+msgstr "密码错误"
#: InvenTree/views.py:642 templates/navbar.html:160
msgid "System Information"
-msgstr "系統資訊"
+msgstr "系统信息"
#: InvenTree/views.py:649 templates/navbar.html:171
msgid "About InvenTree"
-msgstr "關於InvenTree"
+msgstr "关于 InventTree"
#: build/api.py:237
msgid "Build must be cancelled before it can be deleted"
-msgstr "工單必須被取消才能被刪除"
+msgstr "在删除前必须取消生产"
#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997
#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511
@@ -931,12 +932,12 @@ msgstr "耗材"
#: templates/js/translated/table_filters.js:215
#: templates/js/translated/table_filters.js:583
msgid "Optional"
-msgstr "非必須項目"
+msgstr "可选项"
#: build/api.py:283 templates/js/translated/table_filters.js:408
#: templates/js/translated/table_filters.js:575
msgid "Tracked"
-msgstr ""
+msgstr "已跟踪"
#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1731
#: templates/js/translated/build.js:2611
@@ -957,7 +958,7 @@ msgstr "已分配"
#: templates/js/translated/table_filters.js:340
#: templates/js/translated/table_filters.js:571
msgid "Available"
-msgstr "可用數量"
+msgstr "空闲"
#: build/models.py:74 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
@@ -966,7 +967,7 @@ msgstr "可用數量"
#: templates/email/overdue_build_order.html:15
#: templates/js/translated/build.js:967 templates/js/translated/stock.js:2863
msgid "Build Order"
-msgstr "生產工單"
+msgstr "生产订单"
#: build/models.py:75 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
@@ -975,24 +976,24 @@ msgstr "生產工單"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:179
+#: templates/js/translated/search.js:186 users/models.py:196
msgid "Build Orders"
-msgstr "生產工單"
+msgstr "生产订单"
#: build/models.py:115
msgid "Build order part cannot be changed"
-msgstr ""
+msgstr "不能更改生成订单部件"
#: build/models.py:122
msgid "Invalid choice for parent build"
-msgstr "無效的上層生產工單選擇"
+msgstr "上级生产选项无效"
#: build/models.py:166
msgid "Build Order Reference"
-msgstr "生產工單代號"
+msgstr "相关生产订单"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1005,24 +1006,24 @@ msgstr "生產工單代號"
#: templates/js/translated/return_order.js:729
#: templates/js/translated/sales_order.js:1818
msgid "Reference"
-msgstr "參考代號"
+msgstr "引用"
#: build/models.py:178
msgid "Brief description of the build (optional)"
-msgstr "關於生產工單的簡單說明(選填)"
+msgstr "构建简要说明(可选)"
#: build/models.py:186 build/templates/build/build_base.html:183
#: build/templates/build/detail.html:87
msgid "Parent Build"
-msgstr "上層生產工單"
+msgstr "上级生产"
#: build/models.py:187
msgid "BuildOrder to which this build is allocated"
-msgstr "這張生產工單對應的上層生產工單"
+msgstr "此次生产匹配的订单"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1069,103 +1070,103 @@ msgstr "這張生產工單對應的上層生產工單"
#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061
#: templates/js/translated/stock.js:3204
msgid "Part"
-msgstr "零件"
+msgstr "商品"
#: build/models.py:200
msgid "Select part to build"
-msgstr "選擇要生產的零件"
+msgstr "选择要生产的商品"
#: build/models.py:205
msgid "Sales Order Reference"
-msgstr "銷售訂單代號"
+msgstr "相关销售订单"
#: build/models.py:209
msgid "SalesOrder to which this build is allocated"
-msgstr "這張生產工單對應的銷售訂單"
+msgstr "此次生产匹配的销售订单"
#: build/models.py:214 build/serializers.py:942
#: templates/js/translated/build.js:1718
#: templates/js/translated/sales_order.js:1185
msgid "Source Location"
-msgstr "來源倉儲地點"
+msgstr "来源地点"
#: build/models.py:218
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
-msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)"
+msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)"
#: build/models.py:223
msgid "Destination Location"
-msgstr "目標倉儲地點"
+msgstr "目标地点"
#: build/models.py:227
msgid "Select location where the completed items will be stored"
-msgstr "選擇要存放成品的倉儲地點"
+msgstr "选择已完成项目仓储地点"
#: build/models.py:231
msgid "Build Quantity"
-msgstr "生產數量"
+msgstr "生产数量"
#: build/models.py:234
msgid "Number of stock items to build"
-msgstr "要生產的庫存品數量"
+msgstr "要生产的项目数量"
#: build/models.py:238
msgid "Completed items"
-msgstr "已完成項目"
+msgstr "已完成项目"
#: build/models.py:240
msgid "Number of stock items which have been completed"
-msgstr "已經完成的庫存品數量"
+msgstr "已完成的库存项目数量"
#: build/models.py:244
msgid "Build Status"
-msgstr "生產狀態"
+msgstr "生产状态"
#: build/models.py:248
msgid "Build status code"
-msgstr "生產狀態代碼"
+msgstr "生产状态代码"
#: build/models.py:257 build/serializers.py:275 order/serializers.py:516
#: stock/models.py:773 stock/serializers.py:1282
#: templates/js/translated/purchase_order.js:1125
msgid "Batch Code"
-msgstr "批量代碼"
+msgstr "批量代码"
#: build/models.py:261 build/serializers.py:276
msgid "Batch code for this build output"
-msgstr "本批次成品的生產批號"
+msgstr "此生产产出的批量代码"
#: build/models.py:264 order/models.py:242 part/models.py:1006
#: part/templates/part/part_base.html:310
#: templates/js/translated/return_order.js:339
#: templates/js/translated/sales_order.js:827
msgid "Creation Date"
-msgstr "建立日期"
+msgstr "创建日期"
#: build/models.py:268
msgid "Target completion date"
-msgstr "目標完成日期"
+msgstr "预计完成日期"
#: build/models.py:269
msgid "Target date for build completion. Build will be overdue after this date."
-msgstr "生產的預計完成日期。若超過此日期則工單會逾期。"
+msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
-msgstr "完成日期"
+msgstr "完成日期:"
#: build/models.py:278
msgid "completed by"
-msgstr "完成者"
+msgstr "完成人"
#: build/models.py:286 templates/js/translated/build.js:2195
msgid "Issued by"
-msgstr "發布者"
+msgstr "发布者"
#: build/models.py:287
msgid "User who issued this build order"
-msgstr "發布此生產工單的使用者"
+msgstr "发布此生产订单的用户"
#: build/models.py:295 build/templates/build/build_base.html:204
#: build/templates/build/detail.html:122 order/models.py:256
@@ -1179,11 +1180,11 @@ msgstr "發布此生產工單的使用者"
#: templates/js/translated/return_order.js:359
#: templates/js/translated/table_filters.js:527
msgid "Responsible"
-msgstr "負責人"
+msgstr "责任人"
#: build/models.py:296
msgid "User or group responsible for this build order"
-msgstr "負責此生產工單的使用者或群組"
+msgstr "构建此订单的用户或组"
#: build/models.py:301 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
@@ -1195,15 +1196,15 @@ msgstr "負責此生產工單的使用者或群組"
#: stock/templates/stock/item_base.html:200
#: templates/js/translated/company.js:1009
msgid "External Link"
-msgstr "外部連結"
+msgstr "外部链接"
#: build/models.py:306
msgid "Build Priority"
-msgstr "製造優先度"
+msgstr "创建优先级"
#: build/models.py:309
msgid "Priority of this build order"
-msgstr "此生產工單的優先程度"
+msgstr "此构建订单的优先级"
#: build/models.py:316 common/models.py:118 order/admin.py:17
#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146
@@ -1214,52 +1215,52 @@ msgstr "此生產工單的優先程度"
#: templates/js/translated/table_filters.js:48
#: templates/project_code_data.html:6
msgid "Project Code"
-msgstr "專案代碼"
+msgstr "项目编码"
#: build/models.py:317
msgid "Project code for this build order"
-msgstr "此生產工單隸屬的專案代碼"
+msgstr "构建订单的项目代码"
#: build/models.py:552
#, python-brace-format
msgid "Build order {build} has been completed"
-msgstr "生產工單 {build} 已經完成"
+msgstr "生产订单 {build} 已完成"
#: build/models.py:558
msgid "A build order has been completed"
-msgstr "一張生產工單已經完成"
+msgstr "生产订单已完成"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
-msgstr "尚未指定生產品項"
+msgstr "未指定生产产出"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
-msgstr "生產成品已經完成"
+msgstr "生产产出已完成"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
-msgstr "生產品項與生產工單不符"
+msgstr "生产产出与订单不匹配"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
-msgstr "數量必須大於零"
+msgstr "数量必须大于0"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
-msgstr "數量不能大於工單生產數量"
+msgstr "数量不能超过输出数量"
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
-msgstr ""
+msgstr "创建物件"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
-#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: build/templates/build/detail.html:34 common/models.py:2349
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1301,38 +1302,38 @@ msgstr ""
#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992
#: templates/js/translated/stock.js:3075
msgid "Quantity"
-msgstr "數量"
+msgstr "数量"
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
-msgstr "生產工單所需數量"
+msgstr "构建订单所需数量"
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
-msgstr ""
+msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
-msgstr "分配的數量({q})不能超過可用的庫存數量({a})"
+msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
-msgstr "庫存品項超額分配"
+msgstr "库存物品分配过度!"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
-msgstr "分配的數量必須大於零"
+msgstr "分配数量必须大于0"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
-msgstr "有序號的品項數量必須為1"
+msgstr "序列化库存的数量必须是 1"
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
-msgstr "選擇的庫存品項和BOM的項目不符"
+msgstr "选定的库存项与物料清单行不匹配"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1347,82 +1348,82 @@ msgstr "選擇的庫存品項和BOM的項目不符"
#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843
#: templates/js/translated/stock.js:2948
msgid "Stock Item"
-msgstr "庫存品項"
+msgstr "库存项"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
-msgstr "來源庫存項目"
+msgstr "源库存项"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
-msgstr "要分配的庫存數量"
+msgstr "分配到生产的数量"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
-msgstr "安裝到"
+msgstr "安装到"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
-msgstr "目的庫存品項"
+msgstr "目标库存项"
#: build/serializers.py:155 build/serializers.py:824
#: templates/js/translated/build.js:1309
msgid "Build Output"
-msgstr "產出"
+msgstr "生产产出"
#: build/serializers.py:167
msgid "Build output does not match the parent build"
-msgstr "產出與上層生產工單不符"
+msgstr "生产产出与对应生产不匹配"
#: build/serializers.py:171
msgid "Output part does not match BuildOrder part"
-msgstr "產出零件與生產工單不符"
+msgstr "产出部件与生产订单部件不匹配"
#: build/serializers.py:175
msgid "This build output has already been completed"
-msgstr "此筆產出已完成"
+msgstr "此生产产出已经完成"
#: build/serializers.py:186
msgid "This build output is not fully allocated"
-msgstr "此筆產出的分配尚未完成"
+msgstr "生产产出未被完成分配"
#: build/serializers.py:206 build/serializers.py:243
msgid "Enter quantity for build output"
-msgstr "輸入產出數量"
+msgstr "输入生产产出数量"
#: build/serializers.py:264
msgid "Integer quantity required for trackable parts"
-msgstr "可追蹤的零件數量必須為整數"
+msgstr "对于可追踪的部件,需要整数型数值"
#: build/serializers.py:267
msgid "Integer quantity required, as the bill of materials contains trackable parts"
-msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數"
+msgstr "需要整数型数值,因为BOM包含可追踪的部件"
#: build/serializers.py:282 order/serializers.py:524 order/serializers.py:1271
#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1149
#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565
msgid "Serial Numbers"
-msgstr "序號"
+msgstr "序列号"
#: build/serializers.py:283
msgid "Enter serial numbers for build outputs"
-msgstr "輸入產出的序號"
+msgstr "输入生产产出的序列号"
#: build/serializers.py:296
msgid "Auto Allocate Serial Numbers"
-msgstr "自動分配序號"
+msgstr "自动分配序列号"
#: build/serializers.py:297
msgid "Automatically allocate required items with matching serial numbers"
-msgstr "自動為需要項目分配對應的序號"
+msgstr "自动为所需项分配对应的序列号"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
-msgstr "序號已存在或無效"
+msgstr "以下序列号已存在或无效"
#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523
msgid "A list of build outputs must be provided"
-msgstr "必須提供產出清單"
+msgstr "必须提供生产产出列表"
#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:497
#: order/serializers.py:616 order/serializers.py:1623 part/serializers.py:973
@@ -1442,31 +1443,31 @@ msgstr "必須提供產出清單"
#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171
#: templates/js/translated/stock.js:2842
msgid "Location"
-msgstr "地點"
+msgstr "地点"
#: build/serializers.py:422
msgid "Stock location for scrapped outputs"
-msgstr "報廢的庫存位置"
+msgstr "废件输出的库存位置"
#: build/serializers.py:428
msgid "Discard Allocations"
-msgstr "放棄分配"
+msgstr "放弃分配"
#: build/serializers.py:429
msgid "Discard any stock allocations for scrapped outputs"
-msgstr ""
+msgstr "取消对报废产品的任何库存分配"
#: build/serializers.py:434
msgid "Reason for scrapping build output(s)"
-msgstr ""
+msgstr "作废输出的原因"
#: build/serializers.py:494
msgid "Location for completed build outputs"
-msgstr ""
+msgstr "已完成生产产出的仓储地点"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1477,177 +1478,177 @@ msgstr ""
#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966
#: templates/js/translated/stock.js:3091
msgid "Status"
-msgstr "狀態"
+msgstr "状态"
#: build/serializers.py:506
msgid "Accept Incomplete Allocation"
-msgstr ""
+msgstr "接受不完整的分配"
#: build/serializers.py:507
msgid "Complete outputs if stock has not been fully allocated"
-msgstr ""
+msgstr "如果库存尚未完成分配,完成产出"
#: build/serializers.py:576
msgid "Remove Allocated Stock"
-msgstr ""
+msgstr "移除已分配的库存"
#: build/serializers.py:577
msgid "Subtract any stock which has already been allocated to this build"
-msgstr ""
+msgstr "减去已经分配至此生产的库存"
#: build/serializers.py:583
msgid "Remove Incomplete Outputs"
-msgstr ""
+msgstr "移除未完成的产出"
#: build/serializers.py:584
msgid "Delete any build outputs which have not been completed"
-msgstr ""
+msgstr "删除所有未完成的生产产出"
#: build/serializers.py:611
msgid "Not permitted"
-msgstr ""
+msgstr "未允许"
#: build/serializers.py:612
msgid "Accept as consumed by this build order"
-msgstr ""
+msgstr "接受此构建订单所消耗的内容"
#: build/serializers.py:613
msgid "Deallocate before completing this build order"
-msgstr ""
+msgstr "在完成此构建订单前取消分配"
#: build/serializers.py:635
msgid "Overallocated Stock"
-msgstr ""
+msgstr "超出分配的库存"
#: build/serializers.py:637
msgid "How do you want to handle extra stock items assigned to the build order"
-msgstr ""
+msgstr "你想如何处理分配给构建订单的额外库存物品"
#: build/serializers.py:647
msgid "Some stock items have been overallocated"
-msgstr ""
+msgstr "一些库存项已被过度分配"
#: build/serializers.py:652
msgid "Accept Unallocated"
-msgstr "接受未分配"
+msgstr "接受未分配的"
#: build/serializers.py:653
msgid "Accept that stock items have not been fully allocated to this build order"
-msgstr ""
+msgstr "接受库存项未被完成分配至此生产订单"
#: build/serializers.py:663 templates/js/translated/build.js:310
msgid "Required stock has not been fully allocated"
-msgstr ""
+msgstr "所需库存尚未完全分配"
#: build/serializers.py:668 order/serializers.py:272 order/serializers.py:1163
msgid "Accept Incomplete"
-msgstr "接受不完整"
+msgstr "接受未完成"
#: build/serializers.py:669
msgid "Accept that the required number of build outputs have not been completed"
-msgstr ""
+msgstr "接受所需的生产产出未完成"
#: build/serializers.py:679 templates/js/translated/build.js:314
msgid "Required build quantity has not been completed"
-msgstr ""
+msgstr "所需生产数量尚未完成"
#: build/serializers.py:688 templates/js/translated/build.js:298
msgid "Build order has incomplete outputs"
-msgstr ""
+msgstr "生产订单有未完成的产出"
#: build/serializers.py:718
msgid "Build Line"
-msgstr ""
+msgstr "构建线"
#: build/serializers.py:728
msgid "Build output"
-msgstr ""
+msgstr "生产产出"
#: build/serializers.py:736
msgid "Build output must point to the same build"
-msgstr ""
+msgstr "生产产出必须指向相同的生产"
#: build/serializers.py:772
msgid "Build Line Item"
-msgstr ""
+msgstr "编辑列表条目"
#: build/serializers.py:786
msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
+msgstr "bom_item.part 必须与生产订单指向相同的部件"
#: build/serializers.py:801 stock/serializers.py:1002
msgid "Item must be in stock"
-msgstr "商品必須有庫存"
+msgstr "项目必须在库存中"
#: build/serializers.py:849 order/serializers.py:1153
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
-msgstr ""
+msgstr "可用量 ({q}) 超出了限制"
#: build/serializers.py:855
msgid "Build output must be specified for allocation of tracked parts"
-msgstr ""
+msgstr "对于被追踪的部件的分配,必须指定生产产出"
#: build/serializers.py:862
msgid "Build output cannot be specified for allocation of untracked parts"
-msgstr ""
+msgstr "对于未被追踪的部件,无法指定生产产出"
#: build/serializers.py:886 order/serializers.py:1435
msgid "Allocation items must be provided"
-msgstr ""
+msgstr "必须提供分配的项"
#: build/serializers.py:943
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
-msgstr ""
+msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)"
#: build/serializers.py:951
msgid "Exclude Location"
-msgstr "排除位置"
+msgstr "排除地点"
#: build/serializers.py:952
msgid "Exclude stock items from this selected location"
-msgstr ""
+msgstr "从该选定的仓储地点排除库存项"
#: build/serializers.py:957
msgid "Interchangeable Stock"
-msgstr "可互換庫存"
+msgstr "可互换的库存"
#: build/serializers.py:958
msgid "Stock items in multiple locations can be used interchangeably"
-msgstr ""
+msgstr "多处地点的库存项可以互换使用"
#: build/serializers.py:963
msgid "Substitute Stock"
-msgstr ""
+msgstr "可替换的库存"
#: build/serializers.py:964
msgid "Allow allocation of substitute parts"
-msgstr ""
+msgstr "允许分配可替换的部件"
#: build/serializers.py:969
msgid "Optional Items"
-msgstr ""
+msgstr "可选项目"
#: build/serializers.py:970
msgid "Allocate optional BOM items to build order"
-msgstr ""
+msgstr "分配可选的BOM项目来建立订单"
#: build/tasks.py:149
msgid "Stock required for build order"
-msgstr ""
+msgstr "生产订单所需的库存"
#: build/tasks.py:166
msgid "Overdue Build Order"
-msgstr ""
+msgstr "超时构建顺序"
#: build/tasks.py:171
#, python-brace-format
msgid "Build order {bo} is now overdue"
-msgstr ""
+msgstr "生成订单 {bo} 现在已过期"
#: build/templates/build/build_base.html:18
msgid "Part thumbnail"
-msgstr ""
+msgstr "部件缩略图"
#: build/templates/build/build_base.html:38
#: company/templates/company/supplier_part.html:35
@@ -1659,7 +1660,7 @@ msgstr ""
#: stock/templates/stock/location.html:55
#: templates/js/translated/filters.js:335
msgid "Barcode actions"
-msgstr ""
+msgstr "条形码操作"
#: build/templates/build/build_base.html:42
#: company/templates/company/supplier_part.html:39
@@ -1670,7 +1671,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:44
#: stock/templates/stock/location.html:57 templates/qr_button.html:1
msgid "Show QR Code"
-msgstr ""
+msgstr "显示二维码"
#: build/templates/build/build_base.html:45
#: company/templates/company/supplier_part.html:41
@@ -1683,7 +1684,7 @@ msgstr ""
#: templates/js/translated/barcode.js:479
#: templates/js/translated/barcode.js:484
msgid "Unlink Barcode"
-msgstr ""
+msgstr "取消关联条形码"
#: build/templates/build/build_base.html:47
#: company/templates/company/supplier_part.html:43
@@ -1694,71 +1695,71 @@ msgstr ""
#: stock/templates/stock/item_base.html:49
#: stock/templates/stock/location.html:61
msgid "Link Barcode"
-msgstr ""
+msgstr "关联二维码"
#: build/templates/build/build_base.html:56
#: order/templates/order/order_base.html:46
#: order/templates/order/return_order_base.html:55
#: order/templates/order/sales_order_base.html:55
msgid "Print actions"
-msgstr ""
+msgstr "打印操作"
#: build/templates/build/build_base.html:60
msgid "Print build order report"
-msgstr ""
+msgstr "打印构建订单报告"
#: build/templates/build/build_base.html:67
msgid "Build actions"
-msgstr ""
+msgstr "生产操作"
#: build/templates/build/build_base.html:71
msgid "Edit Build"
-msgstr ""
+msgstr "编辑生产"
#: build/templates/build/build_base.html:73
msgid "Cancel Build"
-msgstr ""
+msgstr "取消生产"
#: build/templates/build/build_base.html:76
msgid "Duplicate Build"
-msgstr ""
+msgstr "重复构件"
#: build/templates/build/build_base.html:79
msgid "Delete Build"
-msgstr ""
+msgstr "删除生产"
#: build/templates/build/build_base.html:84
#: build/templates/build/build_base.html:85
msgid "Complete Build"
-msgstr ""
+msgstr "生产完成"
#: build/templates/build/build_base.html:107
msgid "Build Description"
-msgstr ""
+msgstr "构建描述"
#: build/templates/build/build_base.html:117
msgid "No build outputs have been created for this build order"
-msgstr ""
+msgstr "针对此生产订单,尚未创建生产产出"
#: build/templates/build/build_base.html:124
msgid "Build Order is ready to mark as completed"
-msgstr ""
+msgstr "构建订单已准备好标记为已完成"
#: build/templates/build/build_base.html:129
msgid "Build Order cannot be completed as outstanding outputs remain"
-msgstr ""
+msgstr "创建订单无法完成,因为未完成的输出"
#: build/templates/build/build_base.html:134
msgid "Required build quantity has not yet been completed"
-msgstr ""
+msgstr "所需生产数量尚未完成"
#: build/templates/build/build_base.html:139
msgid "Stock has not been fully allocated to this Build Order"
-msgstr ""
+msgstr "库存尚未被完全分配到此构建订单"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1770,12 +1771,12 @@ msgstr ""
#: templates/js/translated/sales_order.js:835
#: templates/js/translated/sales_order.js:1867
msgid "Target Date"
-msgstr ""
+msgstr "预计日期"
#: build/templates/build/build_base.html:165
#, python-format
msgid "This build was due on %(target)s"
-msgstr ""
+msgstr "此次生产的截止日期为 %(target)s"
#: build/templates/build/build_base.html:165
#: build/templates/build/build_base.html:222
@@ -1792,11 +1793,11 @@ msgstr "逾期"
#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13
msgid "Completed Outputs"
-msgstr ""
+msgstr "已完成输出"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1808,56 +1809,56 @@ msgstr ""
#: templates/js/translated/sales_order.js:992
#: templates/js/translated/stock.js:2895
msgid "Sales Order"
-msgstr ""
+msgstr "销售订单"
#: build/templates/build/build_base.html:197
#: build/templates/build/detail.html:115
#: report/templates/report/inventree_build_order_base.html:152
#: templates/js/translated/table_filters.js:24
msgid "Issued By"
-msgstr ""
+msgstr "发布者"
#: build/templates/build/build_base.html:211
#: build/templates/build/detail.html:94 templates/js/translated/build.js:2144
msgid "Priority"
-msgstr "優先等級"
+msgstr "优先级"
#: build/templates/build/build_base.html:273
msgid "Delete Build Order"
-msgstr ""
+msgstr "删除生产订单"
#: build/templates/build/build_base.html:283
msgid "Build Order QR Code"
-msgstr ""
+msgstr "创建订单二维码"
#: build/templates/build/build_base.html:295
msgid "Link Barcode to Build Order"
-msgstr ""
+msgstr "构建定单链接条码"
#: build/templates/build/detail.html:15
msgid "Build Details"
-msgstr ""
+msgstr "生产详情"
#: build/templates/build/detail.html:38
msgid "Stock Source"
-msgstr ""
+msgstr "库存来源"
#: build/templates/build/detail.html:43
msgid "Stock can be taken from any available location."
-msgstr ""
+msgstr "库存可以从任何可用的地点获得。"
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
-msgstr ""
+msgstr "目的地"
#: build/templates/build/detail.html:56
msgid "Destination location not specified"
-msgstr ""
+msgstr "目标位置未指定"
#: build/templates/build/detail.html:73
msgid "Allocated Parts"
-msgstr ""
+msgstr "已分配的部件"
#: build/templates/build/detail.html:80 stock/admin.py:123
#: stock/templates/stock/item_base.html:162
@@ -1869,7 +1870,7 @@ msgstr ""
#: templates/js/translated/table_filters.js:313
#: templates/js/translated/table_filters.js:404
msgid "Batch"
-msgstr ""
+msgstr "批量"
#: build/templates/build/detail.html:133
#: order/templates/order/order_base.html:173
@@ -1877,82 +1878,82 @@ msgstr ""
#: order/templates/order/sales_order_base.html:186
#: templates/js/translated/build.js:2187
msgid "Created"
-msgstr ""
+msgstr "已创建"
#: build/templates/build/detail.html:144
msgid "No target date set"
-msgstr ""
+msgstr "无预计日期"
#: build/templates/build/detail.html:149
#: order/templates/order/sales_order_base.html:202
#: templates/js/translated/table_filters.js:685
msgid "Completed"
-msgstr ""
+msgstr "已完成"
#: build/templates/build/detail.html:153
msgid "Build not complete"
-msgstr ""
+msgstr "生产未完成"
#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17
msgid "Child Build Orders"
-msgstr ""
+msgstr "子生产订单"
#: build/templates/build/detail.html:177
msgid "Allocate Stock to Build"
-msgstr ""
+msgstr "为生产分配库存"
#: build/templates/build/detail.html:181
msgid "Deallocate stock"
-msgstr ""
+msgstr "取消分配库存"
#: build/templates/build/detail.html:182
msgid "Deallocate Stock"
-msgstr ""
+msgstr "取消分配库存"
#: build/templates/build/detail.html:184
msgid "Automatically allocate stock to build"
-msgstr ""
+msgstr "自动分配存货进行生成"
#: build/templates/build/detail.html:185
msgid "Auto Allocate"
-msgstr "自動分配"
+msgstr "自动分配"
#: build/templates/build/detail.html:187
msgid "Manually allocate stock to build"
-msgstr "手動分配庫存進行生產"
+msgstr "手动分配存货进行生成"
#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8
msgid "Allocate Stock"
-msgstr "分配庫存"
+msgstr "分配库存"
#: build/templates/build/detail.html:191
msgid "Order required parts"
-msgstr ""
+msgstr "订单所需部件"
#: build/templates/build/detail.html:192
#: templates/js/translated/purchase_order.js:803
msgid "Order Parts"
-msgstr ""
+msgstr "订购商品"
#: build/templates/build/detail.html:210
msgid "Incomplete Build Outputs"
-msgstr ""
+msgstr "未完成的生产产出"
#: build/templates/build/detail.html:214
msgid "Create new build output"
-msgstr ""
+msgstr "创建新构建输出"
#: build/templates/build/detail.html:215
msgid "New Build Output"
-msgstr ""
+msgstr "新建构建输出"
#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15
msgid "Consumed Stock"
-msgstr ""
+msgstr "已消耗库存"
#: build/templates/build/detail.html:244
msgid "Completed Build Outputs"
-msgstr ""
+msgstr "已完成构建输出"
#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19
#: company/templates/company/detail.html:229
@@ -1972,27 +1973,27 @@ msgstr "附件"
#: build/templates/build/detail.html:271
msgid "Build Notes"
-msgstr ""
+msgstr "生产备注"
#: build/templates/build/detail.html:422
msgid "Allocation Complete"
-msgstr ""
+msgstr "分配完成"
#: build/templates/build/detail.html:423
msgid "All lines have been fully allocated"
-msgstr ""
+msgstr "所有行都已完全分配"
#: build/templates/build/index.html:18 part/templates/part/detail.html:319
msgid "New Build Order"
-msgstr ""
+msgstr "新建生产订单"
#: build/templates/build/sidebar.html:5
msgid "Build Order Details"
-msgstr ""
+msgstr "生产订单详情"
#: build/templates/build/sidebar.html:10
msgid "Incomplete Outputs"
-msgstr ""
+msgstr "未完成输出"
#: common/files.py:63
#, python-brace-format
@@ -2001,165 +2002,165 @@ msgstr ""
#: common/files.py:65
msgid "Error reading file (invalid encoding)"
-msgstr ""
+msgstr "读取文件时发生错误 (无效编码)"
#: common/files.py:70
msgid "Error reading file (invalid format)"
-msgstr ""
+msgstr "读取文件时发生错误 (无效编码)"
#: common/files.py:72
msgid "Error reading file (incorrect dimension)"
-msgstr ""
+msgstr "读取文件时出错(不正确的尺寸)"
#: common/files.py:74
msgid "Error reading file (data could be corrupted)"
-msgstr ""
+msgstr "读取文件时出错(数据可能已损坏)"
#: common/forms.py:13
msgid "File"
-msgstr "檔案"
+msgstr "文件"
#: common/forms.py:14
msgid "Select file to upload"
-msgstr "選擇要上傳的檔案"
+msgstr "选择要上传的文件"
#: common/forms.py:28
msgid "{name.title()} File"
-msgstr ""
+msgstr "{name.title()} 文件"
#: common/forms.py:29
#, python-brace-format
msgid "Select {name} file to upload"
-msgstr ""
+msgstr "选择 {name} 文件上传"
#: common/models.py:71
msgid "Updated"
-msgstr ""
+msgstr "已更新"
#: common/models.py:72
msgid "Timestamp of last update"
-msgstr ""
+msgstr "最后一次更新时间"
#: common/models.py:119
msgid "Unique project code"
-msgstr ""
+msgstr "唯一项目代码"
#: common/models.py:126
msgid "Project description"
-msgstr ""
+msgstr "项目描述:"
#: common/models.py:648
msgid "Settings key (must be unique - case insensitive)"
-msgstr ""
+msgstr "设置键值(必须是唯一的 - 大小写不敏感)"
#: common/models.py:650
msgid "Settings value"
-msgstr ""
+msgstr "设定值"
#: common/models.py:691
msgid "Chosen value is not a valid option"
-msgstr ""
+msgstr "选择的值不是一个有效的选项"
#: common/models.py:708
msgid "Value must be a boolean value"
-msgstr ""
+msgstr "值必须是布尔量"
#: common/models.py:719
msgid "Value must be an integer value"
-msgstr ""
+msgstr "值必须为整数"
#: common/models.py:758
msgid "Key string must be unique"
-msgstr ""
+msgstr "关键字必须是唯一的"
#: common/models.py:963
msgid "No group"
-msgstr ""
+msgstr "无群组"
#: common/models.py:988
msgid "An empty domain is not allowed."
-msgstr ""
+msgstr "不允许空域。"
#: common/models.py:990
#, python-brace-format
msgid "Invalid domain name: {domain}"
-msgstr ""
+msgstr "无效的域名: {domain}"
#: common/models.py:1002
msgid "No plugin"
-msgstr ""
+msgstr "暂无插件"
#: common/models.py:1068
msgid "Restart required"
-msgstr ""
+msgstr "需要重启"
#: common/models.py:1069
msgid "A setting has been changed which requires a server restart"
-msgstr ""
+msgstr "设置已更改,需要服务器重启"
#: common/models.py:1076
msgid "Pending migrations"
-msgstr ""
+msgstr "待迁移中"
#: common/models.py:1077
msgid "Number of pending database migrations"
-msgstr ""
+msgstr "待处理数据库迁移数"
#: common/models.py:1083
msgid "Server Instance Name"
-msgstr ""
+msgstr "服务器实例名称"
#: common/models.py:1085
msgid "String descriptor for the server instance"
-msgstr ""
+msgstr "服务实例的字符串描述"
#: common/models.py:1090
msgid "Use instance name"
-msgstr ""
+msgstr "用例名称"
#: common/models.py:1091
msgid "Use the instance name in the title-bar"
-msgstr ""
+msgstr "在标题栏上显示实例名称"
#: common/models.py:1097
msgid "Restrict showing `about`"
-msgstr ""
+msgstr "限制显示 `关于` 信息"
#: common/models.py:1098
msgid "Show the `about` modal only to superusers"
-msgstr ""
+msgstr "只向超级用户显示 `about` 信息"
#: common/models.py:1104 company/models.py:101 company/models.py:102
msgid "Company name"
-msgstr ""
+msgstr "公司名称"
#: common/models.py:1105
msgid "Internal company name"
-msgstr ""
+msgstr "内部公司名称"
#: common/models.py:1110
msgid "Base URL"
-msgstr ""
+msgstr "基准 URL"
#: common/models.py:1111
msgid "Base URL for server instance"
-msgstr ""
+msgstr "服务的URL"
#: common/models.py:1118
msgid "Default Currency"
-msgstr ""
+msgstr "默认货币单位"
#: common/models.py:1119
msgid "Select base currency for pricing calculations"
-msgstr ""
+msgstr "选择定价计算的基础货币"
#: common/models.py:1126
msgid "Currency Update Interval"
-msgstr ""
+msgstr "货币更新间隔时间"
#: common/models.py:1127
msgid "How often to update exchange rates (set to zero to disable)"
-msgstr ""
+msgstr "多久检查一次更新(设置为零以禁用)"
#: common/models.py:1129 common/models.py:1193 common/models.py:1211
#: common/models.py:1218 common/models.py:1229 common/models.py:1240
@@ -2170,1346 +2171,1354 @@ msgstr "天"
#: common/models.py:1137
msgid "Currency Update Plugin"
-msgstr ""
+msgstr "币种更新插件"
#: common/models.py:1138
msgid "Currency update plugin to use"
-msgstr ""
+msgstr "使用货币更新插件"
#: common/models.py:1144
msgid "Download from URL"
-msgstr ""
+msgstr "从URL下载"
#: common/models.py:1145
msgid "Allow download of remote images and files from external URL"
-msgstr ""
+msgstr "允许从外部 URL 下载远程图像和文件"
#: common/models.py:1151
msgid "Download Size Limit"
-msgstr ""
+msgstr "下载大小限制"
#: common/models.py:1152
msgid "Maximum allowable download size for remote image"
-msgstr ""
+msgstr "远程图像的最大允许下载大小"
#: common/models.py:1163
msgid "User-agent used to download from URL"
-msgstr ""
+msgstr "用于从URL下载的User-agent"
#: common/models.py:1164
msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
-msgstr ""
+msgstr "允许覆盖用于从外部URL下载图像和文件的user-agent(留空为默认值)"
#: common/models.py:1169
msgid "Require confirm"
-msgstr ""
+msgstr "需要确认"
#: common/models.py:1170
msgid "Require explicit user confirmation for certain action."
-msgstr ""
+msgstr "对某些操作需要用户明确确认。"
#: common/models.py:1176
msgid "Tree Depth"
-msgstr ""
+msgstr "树深度"
#: common/models.py:1177
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
-msgstr ""
+msgstr "树视图的默认树深度。更深的层次可以在需要时进行懒加载。"
#: common/models.py:1186
msgid "Update Check Interval"
-msgstr ""
+msgstr "更新检查间隔"
#: common/models.py:1187
msgid "How often to check for updates (set to zero to disable)"
-msgstr ""
+msgstr "多久检查一次更新(设置为零以禁用)"
#: common/models.py:1197
msgid "Automatic Backup"
-msgstr "自動備份"
+msgstr "自动备份"
#: common/models.py:1198
msgid "Enable automatic backup of database and media files"
-msgstr "啟動資料庫和媒體文件自動備份"
+msgstr "启用数据库和媒体文件的自动备份"
#: common/models.py:1204
msgid "Auto Backup Interval"
-msgstr "自動備份間隔"
+msgstr "自动备份间隔"
#: common/models.py:1205
msgid "Specify number of days between automated backup events"
-msgstr ""
+msgstr "指定自动备份事件之间的天数"
#: common/models.py:1215
msgid "Task Deletion Interval"
-msgstr ""
+msgstr "任务删除间隔"
#: common/models.py:1216
msgid "Background task results will be deleted after specified number of days"
-msgstr ""
+msgstr "指定天数后将删除后台任务结果"
#: common/models.py:1226
msgid "Error Log Deletion Interval"
-msgstr ""
+msgstr "错误日志删除间隔"
#: common/models.py:1227
msgid "Error logs will be deleted after specified number of days"
-msgstr ""
+msgstr "指定天数后将删除错误日志"
#: common/models.py:1237
msgid "Notification Deletion Interval"
-msgstr ""
+msgstr "通知删除间隔"
#: common/models.py:1238
msgid "User notifications will be deleted after specified number of days"
-msgstr ""
+msgstr "指定天数后将删除用户通知"
#: common/models.py:1248 templates/InvenTree/settings/sidebar.html:31
msgid "Barcode Support"
-msgstr ""
+msgstr "支持条形码"
#: common/models.py:1249
msgid "Enable barcode scanner support in the web interface"
-msgstr ""
+msgstr "在网页界面启用条码扫描器支持"
#: common/models.py:1255
msgid "Barcode Input Delay"
-msgstr ""
+msgstr "条码输入延迟"
#: common/models.py:1256
msgid "Barcode input processing delay time"
-msgstr ""
+msgstr "条码输入处理延迟时间"
#: common/models.py:1266
msgid "Barcode Webcam Support"
-msgstr ""
+msgstr "支持条形码摄像头"
#: common/models.py:1267
msgid "Allow barcode scanning via webcam in browser"
-msgstr ""
+msgstr "允许通过网络摄像头扫描条形码"
#: common/models.py:1273
msgid "Part Revisions"
-msgstr ""
+msgstr "部件修订版本"
#: common/models.py:1274
msgid "Enable revision field for Part"
-msgstr ""
+msgstr "启用部件的修订字段"
#: common/models.py:1280
msgid "IPN Regex"
-msgstr ""
+msgstr "IPN 正则表达式"
#: common/models.py:1281
msgid "Regular expression pattern for matching Part IPN"
-msgstr ""
+msgstr "用于匹配零件 IPN 的正则表达式模式"
#: common/models.py:1285
msgid "Allow Duplicate IPN"
-msgstr ""
+msgstr "允许重复 IPN"
#: common/models.py:1286
msgid "Allow multiple parts to share the same IPN"
-msgstr ""
+msgstr "允许多个零件共享相同的 IPN"
#: common/models.py:1292
msgid "Allow Editing IPN"
-msgstr ""
+msgstr "允许编辑 IPN"
#: common/models.py:1293
msgid "Allow changing the IPN value while editing a part"
-msgstr ""
+msgstr "在编辑零件时允许更改 IPN 值"
#: common/models.py:1299
msgid "Copy Part BOM Data"
-msgstr ""
+msgstr "复制零件 BOM 数据"
#: common/models.py:1300
msgid "Copy BOM data by default when duplicating a part"
-msgstr ""
+msgstr "复制零件时默认复制 BOM 数据"
#: common/models.py:1306
msgid "Copy Part Parameter Data"
-msgstr ""
+msgstr "复制零件参数数据"
#: common/models.py:1307
msgid "Copy parameter data by default when duplicating a part"
-msgstr ""
+msgstr "复制零件时默认复制参数数据"
#: common/models.py:1313
msgid "Copy Part Test Data"
-msgstr ""
+msgstr "复制零件测试数据"
#: common/models.py:1314
msgid "Copy test data by default when duplicating a part"
-msgstr ""
+msgstr "复制零件时默认复制测试数据"
#: common/models.py:1320
msgid "Copy Category Parameter Templates"
-msgstr ""
+msgstr "复制类别参数模板"
#: common/models.py:1321
msgid "Copy category parameter templates when creating a part"
-msgstr ""
+msgstr "创建零件时复制类别参数模板"
#: common/models.py:1327 part/admin.py:55 part/models.py:3550
#: report/models.py:176 templates/js/translated/table_filters.js:139
#: templates/js/translated/table_filters.js:763
msgid "Template"
-msgstr ""
+msgstr "模板"
#: common/models.py:1328
msgid "Parts are templates by default"
-msgstr ""
+msgstr "零件默认为模板"
#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964
#: templates/js/translated/bom.js:1633
#: templates/js/translated/table_filters.js:330
#: templates/js/translated/table_filters.js:717
msgid "Assembly"
-msgstr ""
+msgstr "组装"
#: common/models.py:1335
msgid "Parts can be assembled from other components by default"
-msgstr ""
+msgstr "默认零件可由其他零件组装而成"
#: common/models.py:1341 part/admin.py:52 part/models.py:970
#: templates/js/translated/table_filters.js:725
msgid "Component"
-msgstr ""
+msgstr "组件"
#: common/models.py:1342
msgid "Parts can be used as sub-components by default"
-msgstr ""
+msgstr "默认零件可作为其他零件的组件"
#: common/models.py:1348 part/admin.py:53 part/models.py:981
msgid "Purchaseable"
-msgstr ""
+msgstr "可购买"
#: common/models.py:1349
msgid "Parts are purchaseable by default"
-msgstr ""
+msgstr "商品默认可购买"
#: common/models.py:1355 part/admin.py:54 part/models.py:986
#: templates/js/translated/table_filters.js:751
msgid "Salable"
-msgstr ""
+msgstr "可销售"
#: common/models.py:1356
msgid "Parts are salable by default"
-msgstr ""
+msgstr "商品默认可销售"
#: common/models.py:1362 part/admin.py:56 part/models.py:976
#: templates/js/translated/table_filters.js:147
#: templates/js/translated/table_filters.js:223
#: templates/js/translated/table_filters.js:767
msgid "Trackable"
-msgstr ""
+msgstr "可追踪"
#: common/models.py:1363
msgid "Parts are trackable by default"
-msgstr ""
+msgstr "商品默认可跟踪"
#: common/models.py:1369 part/admin.py:57 part/models.py:996
#: part/templates/part/part_base.html:154
#: templates/js/translated/table_filters.js:143
#: templates/js/translated/table_filters.js:771
msgid "Virtual"
-msgstr ""
+msgstr "虚拟"
#: common/models.py:1370
msgid "Parts are virtual by default"
-msgstr ""
+msgstr "商品默认是虚拟的"
#: common/models.py:1376
msgid "Show Import in Views"
-msgstr ""
+msgstr "视图中显示导入"
#: common/models.py:1377
msgid "Display the import wizard in some part views"
-msgstr ""
+msgstr "在一些商品视图中显示导入向导"
#: common/models.py:1383
msgid "Show related parts"
-msgstr ""
+msgstr "显示相关商品"
#: common/models.py:1384
msgid "Display related parts for a part"
-msgstr ""
+msgstr "显示与零件相关的零件"
#: common/models.py:1390
msgid "Initial Stock Data"
-msgstr ""
+msgstr "初始库存数据"
#: common/models.py:1391
msgid "Allow creation of initial stock when adding a new part"
-msgstr ""
+msgstr "在添加新零件时允许创建初始库存"
#: common/models.py:1397 templates/js/translated/part.js:107
msgid "Initial Supplier Data"
-msgstr ""
+msgstr "初始供应商数据"
#: common/models.py:1398
msgid "Allow creation of initial supplier data when adding a new part"
-msgstr ""
+msgstr "在添加新零件时允许创建初始供应商数据"
#: common/models.py:1404
msgid "Part Name Display Format"
-msgstr ""
+msgstr "零件名称显示格式"
#: common/models.py:1405
msgid "Format to display the part name"
-msgstr ""
+msgstr "用于显示零件名称的格式"
#: common/models.py:1412
msgid "Part Category Default Icon"
-msgstr ""
+msgstr "零件类别默认图标"
#: common/models.py:1413
msgid "Part category default icon (empty means no icon)"
-msgstr ""
+msgstr "零件类别默认图标(空表示没有图标)"
#: common/models.py:1418
msgid "Enforce Parameter Units"
-msgstr ""
+msgstr "强制参数"
#: common/models.py:1419
msgid "If units are provided, parameter values must match the specified units"
-msgstr ""
+msgstr "如果提供了单位,参数值必须与指定的单位匹配"
#: common/models.py:1425
msgid "Minimum Pricing Decimal Places"
-msgstr ""
+msgstr "最小定价小数位数"
#: common/models.py:1426
msgid "Minimum number of decimal places to display when rendering pricing data"
-msgstr ""
+msgstr "在呈现定价数据时显示的最小小数位数"
#: common/models.py:1436
msgid "Maximum Pricing Decimal Places"
-msgstr ""
+msgstr "最大定价小数位数"
#: common/models.py:1437
msgid "Maximum number of decimal places to display when rendering pricing data"
-msgstr ""
+msgstr "在呈现定价数据时显示的最大小数位数"
#: common/models.py:1447
msgid "Use Supplier Pricing"
-msgstr ""
+msgstr "使用供应商定价"
#: common/models.py:1448
msgid "Include supplier price breaks in overall pricing calculations"
-msgstr ""
+msgstr "在总体定价计算中包括供应商价格突破"
#: common/models.py:1454
msgid "Purchase History Override"
-msgstr ""
+msgstr "购买历史覆盖"
#: common/models.py:1455
msgid "Historical purchase order pricing overrides supplier price breaks"
-msgstr ""
+msgstr "历史购买订单定价覆盖供应商价格突破"
#: common/models.py:1461
msgid "Use Stock Item Pricing"
-msgstr ""
+msgstr "使用库存物品定价"
#: common/models.py:1462
msgid "Use pricing from manually entered stock data for pricing calculations"
-msgstr ""
+msgstr "使用手动输入的库存数据中的定价进行定价计算"
#: common/models.py:1468
msgid "Stock Item Pricing Age"
-msgstr ""
+msgstr "库存物品定价年龄"
#: common/models.py:1469
msgid "Exclude stock items older than this number of days from pricing calculations"
-msgstr ""
+msgstr "排除比此天数更早的库存物品进行定价计算"
#: common/models.py:1479
msgid "Use Variant Pricing"
-msgstr ""
+msgstr "使用变体定价"
#: common/models.py:1480
msgid "Include variant pricing in overall pricing calculations"
-msgstr ""
+msgstr "在总体定价计算中包括变体定价"
#: common/models.py:1486
msgid "Active Variants Only"
-msgstr ""
+msgstr "仅活动变体"
#: common/models.py:1487
msgid "Only use active variant parts for calculating variant pricing"
-msgstr ""
+msgstr "仅使用活动的变体零件来计算变体定价"
#: common/models.py:1493
msgid "Pricing Rebuild Interval"
-msgstr ""
+msgstr "定价重建间隔"
#: common/models.py:1494
msgid "Number of days before part pricing is automatically updated"
-msgstr ""
+msgstr "零件定价自动更新之前的天数"
#: common/models.py:1504
msgid "Internal Prices"
-msgstr ""
+msgstr "内部价格"
#: common/models.py:1505
msgid "Enable internal prices for parts"
-msgstr ""
+msgstr "启用内部商品价格"
#: common/models.py:1511
msgid "Internal Price Override"
-msgstr ""
+msgstr "覆盖内部价格"
#: common/models.py:1512
msgid "If available, internal prices override price range calculations"
-msgstr ""
+msgstr "如果有,内部价格取代价格范围计算"
#: common/models.py:1518
msgid "Enable label printing"
-msgstr ""
+msgstr "启用标签打印功能"
#: common/models.py:1519
msgid "Enable label printing from the web interface"
-msgstr ""
+msgstr "在网页界面启用标签打印"
#: common/models.py:1525
msgid "Label Image DPI"
-msgstr ""
+msgstr "标签图像 DPI"
#: common/models.py:1526
msgid "DPI resolution when generating image files to supply to label printing plugins"
-msgstr ""
+msgstr "生成图像文件以便为打印插件添加标签时DPI 分辨率"
#: common/models.py:1535
msgid "Enable Reports"
-msgstr ""
+msgstr "启用报告"
#: common/models.py:1536
msgid "Enable generation of reports"
-msgstr ""
+msgstr "启用报告生成"
#: common/models.py:1542 templates/stats.html:25
msgid "Debug Mode"
-msgstr ""
+msgstr "调试模式"
#: common/models.py:1543
msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
+msgstr "在调试模式生成报告(HTML输出)"
#: common/models.py:1549 plugin/builtin/labels/label_sheet.py:28
#: report/models.py:197
msgid "Page Size"
-msgstr ""
+msgstr "页面大小"
#: common/models.py:1550
msgid "Default page size for PDF reports"
-msgstr ""
+msgstr "PDF 报表默认页面大小"
#: common/models.py:1556
msgid "Enable Test Reports"
-msgstr ""
+msgstr "启用测试报告"
#: common/models.py:1557
msgid "Enable generation of test reports"
-msgstr ""
+msgstr "启用生成测试报表"
#: common/models.py:1563
msgid "Attach Test Reports"
-msgstr ""
+msgstr "添加测试报告"
#: common/models.py:1564
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
+msgstr "在打印测试报告时,将测试报告副本附加到相关的库存物品"
#: common/models.py:1570
msgid "Globally Unique Serials"
-msgstr ""
+msgstr "全局唯一序列号"
#: common/models.py:1571
msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
+msgstr "库存项目的序列号必须是全局唯一的"
#: common/models.py:1577
msgid "Autofill Serial Numbers"
-msgstr ""
+msgstr "自动填充序列号"
#: common/models.py:1578
msgid "Autofill serial numbers in forms"
-msgstr ""
+msgstr "以表格形式自动填写序列号"
#: common/models.py:1584
msgid "Delete Depleted Stock"
-msgstr ""
+msgstr "删除已耗尽的库存"
#: common/models.py:1585
msgid "Determines default behaviour when a stock item is depleted"
-msgstr ""
+msgstr "当库存项目耗尽时确定默认行为"
#: common/models.py:1591
msgid "Batch Code Template"
-msgstr ""
+msgstr "批处理代码模板"
#: common/models.py:1592
msgid "Template for generating default batch codes for stock items"
-msgstr ""
+msgstr "为库存项目生成默认批处理代码模板"
#: common/models.py:1597
msgid "Stock Expiry"
-msgstr ""
+msgstr "库存到期"
#: common/models.py:1598
msgid "Enable stock expiry functionality"
-msgstr ""
+msgstr "启用库存到期功能"
#: common/models.py:1604
msgid "Sell Expired Stock"
-msgstr ""
+msgstr "销售过期库存"
#: common/models.py:1605
msgid "Allow sale of expired stock"
-msgstr ""
+msgstr "允许销售过期库存"
#: common/models.py:1611
msgid "Stock Stale Time"
-msgstr ""
+msgstr "库存过期时间"
#: common/models.py:1612
msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
+msgstr "库存项目在到期前被视为过期的天数"
#: common/models.py:1619
msgid "Build Expired Stock"
-msgstr ""
+msgstr "构建过期库存"
#: common/models.py:1620
msgid "Allow building with expired stock"
-msgstr ""
+msgstr "允许用过期的库存构建"
#: common/models.py:1626
msgid "Stock Ownership Control"
-msgstr ""
+msgstr "库存所有权控制"
#: common/models.py:1627
msgid "Enable ownership control over stock locations and items"
-msgstr ""
+msgstr "启用库存位置和项目的所有权控制"
#: common/models.py:1633
msgid "Stock Location Default Icon"
-msgstr ""
+msgstr "库存位置默认图标"
#: common/models.py:1634
msgid "Stock location default icon (empty means no icon)"
-msgstr ""
+msgstr "库存位置默认图标 (空表示没有图标)"
#: common/models.py:1639
msgid "Show Installed Stock Items"
-msgstr ""
+msgstr "显示已安装的库存项目"
#: common/models.py:1640
msgid "Display installed stock items in stock tables"
-msgstr ""
+msgstr "在库存表中显示已安装的库存项"
#: common/models.py:1646
msgid "Build Order Reference Pattern"
-msgstr ""
+msgstr "创建订单参考模式"
#: common/models.py:1647
msgid "Required pattern for generating Build Order reference field"
-msgstr ""
+msgstr "生成构建订单参考字段所需的模式"
#: common/models.py:1653
msgid "Enable Return Orders"
-msgstr ""
+msgstr "启用退货订单"
#: common/models.py:1654
msgid "Enable return order functionality in the user interface"
-msgstr ""
+msgstr "在用户界面中启用退货单功能"
#: common/models.py:1660
msgid "Return Order Reference Pattern"
-msgstr ""
+msgstr "退货单参考模式"
#: common/models.py:1661
msgid "Required pattern for generating Return Order reference field"
-msgstr ""
+msgstr "生成退货单参考字段所需的模式"
#: common/models.py:1667
msgid "Edit Completed Return Orders"
-msgstr ""
+msgstr "编辑已完成的退货单"
#: common/models.py:1668
msgid "Allow editing of return orders after they have been completed"
-msgstr ""
+msgstr "允许编辑已完成的退货单"
#: common/models.py:1674
msgid "Sales Order Reference Pattern"
-msgstr ""
+msgstr "销售订单参照模式"
#: common/models.py:1675
msgid "Required pattern for generating Sales Order reference field"
-msgstr ""
+msgstr "生成销售单参考字段所需参照模式"
#: common/models.py:1681
msgid "Sales Order Default Shipment"
-msgstr ""
+msgstr "销售订单默认发货"
#: common/models.py:1682
msgid "Enable creation of default shipment with sales orders"
-msgstr ""
+msgstr "启用创建销售订单的默认配送功能"
#: common/models.py:1688
msgid "Edit Completed Sales Orders"
-msgstr ""
+msgstr "编辑已完成的销售订单"
#: common/models.py:1689
msgid "Allow editing of sales orders after they have been shipped or completed"
-msgstr ""
+msgstr "允许在订单发货或完成后编辑销售订单"
#: common/models.py:1695
msgid "Purchase Order Reference Pattern"
-msgstr ""
+msgstr "采购订单参考模式"
#: common/models.py:1696
msgid "Required pattern for generating Purchase Order reference field"
-msgstr ""
+msgstr "生成购买订单参考字段所需的模式"
#: common/models.py:1702
msgid "Edit Completed Purchase Orders"
-msgstr ""
+msgstr "编辑已完成的采购订单"
#: common/models.py:1703
msgid "Allow editing of purchase orders after they have been shipped or completed"
-msgstr ""
+msgstr "允许在购买订单已发货或完成后编辑订单"
#: common/models.py:1710
msgid "Enable password forgot"
-msgstr ""
+msgstr "启用忘记密码"
#: common/models.py:1711
msgid "Enable password forgot function on the login pages"
-msgstr ""
+msgstr "在登录页面启用忘记密码功能"
#: common/models.py:1717
msgid "Enable registration"
-msgstr ""
+msgstr "启用注册"
#: common/models.py:1718
msgid "Enable self-registration for users on the login pages"
-msgstr ""
+msgstr "在登录页面启用注册功能"
#: common/models.py:1724
msgid "Enable SSO"
-msgstr ""
+msgstr "启用 SSO"
#: common/models.py:1725
msgid "Enable SSO on the login pages"
-msgstr ""
+msgstr "在登录页面启用 SSO"
#: common/models.py:1731
msgid "Enable SSO registration"
-msgstr ""
+msgstr "启用 SSO 注册"
#: common/models.py:1732
msgid "Enable self-registration via SSO for users on the login pages"
-msgstr ""
+msgstr "允许登录页面上的用户通过SSO进行自我注册"
#: common/models.py:1738
msgid "Email required"
-msgstr ""
+msgstr "需要邮箱"
#: common/models.py:1739
msgid "Require user to supply mail on signup"
-msgstr ""
+msgstr "要求用户在注册时提供邮件"
#: common/models.py:1745
msgid "Auto-fill SSO users"
-msgstr ""
+msgstr "自动填充 SSO 用户"
#: common/models.py:1746
msgid "Automatically fill out user-details from SSO account-data"
-msgstr ""
+msgstr "自动从 SSO 帐户数据填写用户详细信息"
#: common/models.py:1752
msgid "Mail twice"
-msgstr ""
+msgstr "重复电子邮件"
#: common/models.py:1753
msgid "On signup ask users twice for their mail"
-msgstr ""
+msgstr "注册时两次询问用户他们的电子邮件"
#: common/models.py:1759
msgid "Password twice"
-msgstr ""
+msgstr "两次输入密码"
#: common/models.py:1760
msgid "On signup ask users twice for their password"
-msgstr ""
+msgstr "当注册时请用户两次输入密码"
#: common/models.py:1766
msgid "Allowed domains"
-msgstr ""
+msgstr "域名白名单"
#: common/models.py:1767
msgid "Restrict signup to certain domains (comma-separated, starting with @)"
-msgstr ""
+msgstr "限制注册到某些域名(逗号分隔,以 @开头)"
#: common/models.py:1773
msgid "Group on signup"
-msgstr ""
+msgstr "注册群组"
#: common/models.py:1774
msgid "Group to which new users are assigned on registration"
-msgstr ""
+msgstr "注册时分配给新用户的群组"
#: common/models.py:1780
msgid "Enforce MFA"
-msgstr ""
+msgstr "强制启用 MFA"
#: common/models.py:1781
msgid "Users must use multifactor security."
-msgstr ""
+msgstr "用户必须使用多重元素安全性。"
#: common/models.py:1787
msgid "Check plugins on startup"
-msgstr ""
+msgstr "启动时检查插件"
#: common/models.py:1788
msgid "Check that all plugins are installed on startup - enable in container environments"
-msgstr ""
+msgstr "检查启动时是否安装了所有插件 - 能在容器环境中启用"
#: common/models.py:1796
msgid "Enable URL integration"
-msgstr ""
+msgstr "启用 URL 集成"
#: common/models.py:1797
msgid "Enable plugins to add URL routes"
-msgstr ""
+msgstr "启用插件来添加 URL 路由"
#: common/models.py:1804
msgid "Enable navigation integration"
-msgstr ""
+msgstr "启用导航集成。"
#: common/models.py:1805
msgid "Enable plugins to integrate into navigation"
-msgstr ""
+msgstr "启用插件集成到导航中"
#: common/models.py:1812
msgid "Enable app integration"
-msgstr ""
+msgstr "启用应用集成"
#: common/models.py:1813
msgid "Enable plugins to add apps"
-msgstr ""
+msgstr "启用插件添加应用"
#: common/models.py:1820
msgid "Enable schedule integration"
-msgstr ""
+msgstr "启用调度集成"
#: common/models.py:1821
msgid "Enable plugins to run scheduled tasks"
-msgstr ""
+msgstr "启用插件来运行预定任务"
#: common/models.py:1828
msgid "Enable event integration"
-msgstr ""
+msgstr "启用事件集成"
#: common/models.py:1829
msgid "Enable plugins to respond to internal events"
-msgstr ""
+msgstr "启用插件响应内部事件"
#: common/models.py:1836
msgid "Enable project codes"
-msgstr ""
+msgstr "启用项目代码"
#: common/models.py:1837
msgid "Enable project codes for tracking projects"
-msgstr ""
+msgstr "启用项目代码来跟踪项目"
#: common/models.py:1843
msgid "Stocktake Functionality"
-msgstr ""
+msgstr "库存操作功能化"
#: common/models.py:1844
msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
-msgstr ""
+msgstr "启用库存功能以记录库存水平和计算库存值"
#: common/models.py:1850
msgid "Exclude External Locations"
-msgstr ""
+msgstr "排除外部地点"
#: common/models.py:1851
msgid "Exclude stock items in external locations from stocktake calculations"
-msgstr ""
+msgstr "从库存计算中排除外部地点的库存项目"
#: common/models.py:1857
msgid "Automatic Stocktake Period"
-msgstr ""
+msgstr "自动评估周期"
#: common/models.py:1858
msgid "Number of days between automatic stocktake recording (set to zero to disable)"
-msgstr ""
+msgstr "自动盘点记录之间的天数 (设置为零以禁用)"
#: common/models.py:1867
msgid "Report Deletion Interval"
-msgstr ""
+msgstr "报告删除间隔时间"
#: common/models.py:1868
msgid "Stocktake reports will be deleted after specified number of days"
-msgstr ""
+msgstr "评估报告将在指定天数后删除"
+
+#: common/models.py:1878
+msgid "Display Users full names"
+msgstr "显示用户全名"
-#: common/models.py:1885 common/models.py:2314
+#: common/models.py:1879
+msgid "Display Users full names instead of usernames"
+msgstr "显示用户全名而非用户名"
+
+#: common/models.py:1891 common/models.py:2320
msgid "Settings key (must be unique - case insensitive"
-msgstr ""
+msgstr "设置键值(必须是唯一的 - 大小写不敏感"
-#: common/models.py:1925
+#: common/models.py:1931
msgid "Hide inactive parts"
-msgstr ""
+msgstr "隐藏非活动部件"
-#: common/models.py:1926
+#: common/models.py:1932
msgid "Hide inactive parts in results displayed on the homepage"
-msgstr ""
+msgstr "在主页显示结果中隐藏非活动部件"
-#: common/models.py:1932
+#: common/models.py:1938
msgid "Show subscribed parts"
-msgstr ""
+msgstr "查看订阅中的部件"
-#: common/models.py:1933
+#: common/models.py:1939
msgid "Show subscribed parts on the homepage"
-msgstr ""
+msgstr "在主页上显示订阅中的部件"
-#: common/models.py:1939
+#: common/models.py:1945
msgid "Show subscribed categories"
-msgstr ""
+msgstr "查看订阅中的类别"
-#: common/models.py:1940
+#: common/models.py:1946
msgid "Show subscribed part categories on the homepage"
-msgstr ""
+msgstr "在主页上显示订阅中的部件类别"
-#: common/models.py:1946
+#: common/models.py:1952
msgid "Show latest parts"
-msgstr ""
+msgstr "显示最近商品"
-#: common/models.py:1947
+#: common/models.py:1953
msgid "Show latest parts on the homepage"
-msgstr ""
+msgstr "在主页上显示最近商品"
-#: common/models.py:1953
+#: common/models.py:1959
msgid "Show unvalidated BOMs"
-msgstr ""
+msgstr "显示未验证的物料清单"
-#: common/models.py:1954
+#: common/models.py:1960
msgid "Show BOMs that await validation on the homepage"
-msgstr ""
+msgstr "在主页上显示待验证的物料清单"
-#: common/models.py:1960
+#: common/models.py:1966
msgid "Show recent stock changes"
-msgstr ""
+msgstr "显示最近的库存变化"
-#: common/models.py:1961
+#: common/models.py:1967
msgid "Show recently changed stock items on the homepage"
-msgstr ""
+msgstr "在主页显示最近更改的库存项"
-#: common/models.py:1967
+#: common/models.py:1973
msgid "Show low stock"
-msgstr ""
+msgstr "显示低库存"
-#: common/models.py:1968
+#: common/models.py:1974
msgid "Show low stock items on the homepage"
-msgstr ""
+msgstr "在主页上显示低库存的项目"
-#: common/models.py:1974
+#: common/models.py:1980
msgid "Show depleted stock"
-msgstr ""
+msgstr "显示已耗的库存"
-#: common/models.py:1975
+#: common/models.py:1981
msgid "Show depleted stock items on the homepage"
-msgstr ""
+msgstr "在主页显示耗尽的库存项目"
-#: common/models.py:1981
+#: common/models.py:1987
msgid "Show needed stock"
-msgstr ""
+msgstr "显示所需库存"
-#: common/models.py:1982
+#: common/models.py:1988
msgid "Show stock items needed for builds on the homepage"
-msgstr ""
+msgstr "在主页上显示构建所需的库存项目"
-#: common/models.py:1988
+#: common/models.py:1994
msgid "Show expired stock"
-msgstr ""
+msgstr "显示过期库存"
-#: common/models.py:1989
+#: common/models.py:1995
msgid "Show expired stock items on the homepage"
-msgstr ""
+msgstr "在主页上显示过期的库存项目"
-#: common/models.py:1995
+#: common/models.py:2001
msgid "Show stale stock"
-msgstr ""
+msgstr "显示旧品库存"
-#: common/models.py:1996
+#: common/models.py:2002
msgid "Show stale stock items on the homepage"
-msgstr ""
+msgstr "在主页上显示过期的库存项目"
-#: common/models.py:2002
+#: common/models.py:2008
msgid "Show pending builds"
-msgstr ""
+msgstr "显示待处理构建"
-#: common/models.py:2003
+#: common/models.py:2009
msgid "Show pending builds on the homepage"
-msgstr ""
+msgstr "在主页上显示待完成的生产"
-#: common/models.py:2009
+#: common/models.py:2015
msgid "Show overdue builds"
-msgstr ""
+msgstr "显示逾期生产"
-#: common/models.py:2010
+#: common/models.py:2016
msgid "Show overdue builds on the homepage"
-msgstr ""
+msgstr "在主页上显示逾期的生产"
-#: common/models.py:2016
+#: common/models.py:2022
msgid "Show outstanding POs"
-msgstr ""
+msgstr "显示未完成的 POs"
-#: common/models.py:2017
+#: common/models.py:2023
msgid "Show outstanding POs on the homepage"
-msgstr ""
+msgstr "在主页上显示未完成的 POs"
-#: common/models.py:2023
+#: common/models.py:2029
msgid "Show overdue POs"
-msgstr ""
+msgstr "显示过期的POs"
-#: common/models.py:2024
+#: common/models.py:2030
msgid "Show overdue POs on the homepage"
-msgstr ""
+msgstr "在首页显示过期的订单"
-#: common/models.py:2030
+#: common/models.py:2036
msgid "Show outstanding SOs"
-msgstr ""
+msgstr "显示未完成的销售单"
-#: common/models.py:2031
+#: common/models.py:2037
msgid "Show outstanding SOs on the homepage"
-msgstr ""
+msgstr "在主页上显示未完成的销售单"
-#: common/models.py:2037
+#: common/models.py:2043
msgid "Show overdue SOs"
-msgstr ""
+msgstr "显示过期的销售单"
-#: common/models.py:2038
+#: common/models.py:2044
msgid "Show overdue SOs on the homepage"
-msgstr ""
+msgstr "在主页上显示过期的销售单"
-#: common/models.py:2044
+#: common/models.py:2050
msgid "Show pending SO shipments"
-msgstr ""
+msgstr "显示待处理的销售单配送"
-#: common/models.py:2045
+#: common/models.py:2051
msgid "Show pending SO shipments on the homepage"
-msgstr ""
+msgstr "在主页上显示待处理的销售单配送"
-#: common/models.py:2051
+#: common/models.py:2057
msgid "Show News"
-msgstr ""
+msgstr "显示新消息"
-#: common/models.py:2052
+#: common/models.py:2058
msgid "Show news on the homepage"
-msgstr ""
+msgstr "在主页上显示新消息"
-#: common/models.py:2058
+#: common/models.py:2064
msgid "Inline label display"
-msgstr ""
+msgstr "内嵌标签显示"
-#: common/models.py:2059
+#: common/models.py:2065
msgid "Display PDF labels in the browser, instead of downloading as a file"
-msgstr ""
+msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载"
-#: common/models.py:2065
+#: common/models.py:2071
msgid "Default label printer"
-msgstr ""
+msgstr "默认的标签打印机"
-#: common/models.py:2066
+#: common/models.py:2072
msgid "Configure which label printer should be selected by default"
-msgstr ""
+msgstr "配置默认标签打印机"
-#: common/models.py:2072
+#: common/models.py:2078
msgid "Inline report display"
-msgstr ""
+msgstr "内嵌报表显示"
-#: common/models.py:2073
+#: common/models.py:2079
msgid "Display PDF reports in the browser, instead of downloading as a file"
-msgstr ""
+msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载"
-#: common/models.py:2079
+#: common/models.py:2085
msgid "Search Parts"
-msgstr ""
+msgstr "搜索部件"
-#: common/models.py:2080
+#: common/models.py:2086
msgid "Display parts in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示部件"
-#: common/models.py:2086
+#: common/models.py:2092
msgid "Search Supplier Parts"
-msgstr ""
+msgstr "搜索供应商部件"
-#: common/models.py:2087
+#: common/models.py:2093
msgid "Display supplier parts in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示供货商部件"
-#: common/models.py:2093
+#: common/models.py:2099
msgid "Search Manufacturer Parts"
-msgstr ""
+msgstr "搜索制造商部件"
-#: common/models.py:2094
+#: common/models.py:2100
msgid "Display manufacturer parts in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示制造商部件"
-#: common/models.py:2100
+#: common/models.py:2106
msgid "Hide Inactive Parts"
-msgstr ""
+msgstr "隐藏非活动部件"
-#: common/models.py:2101
+#: common/models.py:2107
msgid "Excluded inactive parts from search preview window"
-msgstr ""
+msgstr "从搜索预览窗口中排除非活动部件"
-#: common/models.py:2107
+#: common/models.py:2113
msgid "Search Categories"
-msgstr ""
+msgstr "搜索分类"
-#: common/models.py:2108
+#: common/models.py:2114
msgid "Display part categories in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示部件类别"
-#: common/models.py:2114
+#: common/models.py:2120
msgid "Search Stock"
-msgstr ""
+msgstr "搜索库存"
-#: common/models.py:2115
+#: common/models.py:2121
msgid "Display stock items in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示库存项目"
-#: common/models.py:2121
+#: common/models.py:2127
msgid "Hide Unavailable Stock Items"
-msgstr ""
+msgstr "隐藏不可用的库存项目"
-#: common/models.py:2122
+#: common/models.py:2128
msgid "Exclude stock items which are not available from the search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中排除不可用的库存项目"
-#: common/models.py:2128
+#: common/models.py:2134
msgid "Search Locations"
-msgstr ""
+msgstr "搜索位置"
-#: common/models.py:2129
+#: common/models.py:2135
msgid "Display stock locations in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示库存位置"
-#: common/models.py:2135
+#: common/models.py:2141
msgid "Search Companies"
-msgstr ""
+msgstr "搜索公司"
-#: common/models.py:2136
+#: common/models.py:2142
msgid "Display companies in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示公司"
-#: common/models.py:2142
+#: common/models.py:2148
msgid "Search Build Orders"
-msgstr ""
+msgstr "搜索建造订单"
-#: common/models.py:2143
+#: common/models.py:2149
msgid "Display build orders in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示构建订单"
-#: common/models.py:2149
+#: common/models.py:2155
msgid "Search Purchase Orders"
-msgstr ""
+msgstr "搜索采购订单"
-#: common/models.py:2150
+#: common/models.py:2156
msgid "Display purchase orders in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示订购单"
-#: common/models.py:2156
+#: common/models.py:2162
msgid "Exclude Inactive Purchase Orders"
-msgstr ""
+msgstr "排除不活动的采购订单"
-#: common/models.py:2157
+#: common/models.py:2163
msgid "Exclude inactive purchase orders from search preview window"
-msgstr ""
+msgstr "从搜索预览窗口排除非活动的订购单"
-#: common/models.py:2163
+#: common/models.py:2169
msgid "Search Sales Orders"
-msgstr ""
+msgstr "搜索销售订单"
-#: common/models.py:2164
+#: common/models.py:2170
msgid "Display sales orders in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口显示销售订单"
-#: common/models.py:2170
+#: common/models.py:2176
msgid "Exclude Inactive Sales Orders"
-msgstr ""
+msgstr "排除不活动的销售订单"
-#: common/models.py:2171
+#: common/models.py:2177
msgid "Exclude inactive sales orders from search preview window"
-msgstr ""
+msgstr "从搜索预览窗口排除非活动销售订单"
-#: common/models.py:2177
+#: common/models.py:2183
msgid "Search Return Orders"
-msgstr ""
+msgstr "搜索退货单"
-#: common/models.py:2178
+#: common/models.py:2184
msgid "Display return orders in search preview window"
-msgstr ""
+msgstr "在搜索预览窗口中显示退货订单"
-#: common/models.py:2184
+#: common/models.py:2190
msgid "Exclude Inactive Return Orders"
-msgstr ""
+msgstr "排除非活动退货订单"
-#: common/models.py:2185
+#: common/models.py:2191
msgid "Exclude inactive return orders from search preview window"
-msgstr ""
+msgstr "从搜索预览窗口排除非活动退货订单"
-#: common/models.py:2191
+#: common/models.py:2197
msgid "Search Preview Results"
-msgstr ""
+msgstr "搜索预览结果"
-#: common/models.py:2192
+#: common/models.py:2198
msgid "Number of results to show in each section of the search preview window"
-msgstr ""
+msgstr "在搜索预览窗口每个部分显示的结果数"
-#: common/models.py:2198
+#: common/models.py:2204
msgid "Regex Search"
-msgstr ""
+msgstr "正则表达式搜索"
-#: common/models.py:2199
+#: common/models.py:2205
msgid "Enable regular expressions in search queries"
-msgstr ""
+msgstr "在搜索查询中启用正则表达式"
-#: common/models.py:2205
+#: common/models.py:2211
msgid "Whole Word Search"
-msgstr ""
+msgstr "全词搜索"
-#: common/models.py:2206
+#: common/models.py:2212
msgid "Search queries return results for whole word matches"
-msgstr ""
+msgstr "搜索查询返回完整单词匹配结果"
-#: common/models.py:2212
+#: common/models.py:2218
msgid "Show Quantity in Forms"
-msgstr ""
+msgstr "在表格中显示数量"
-#: common/models.py:2213
+#: common/models.py:2219
msgid "Display available part quantity in some forms"
-msgstr ""
+msgstr "在某些表格中显示可用的商品数量"
-#: common/models.py:2219
+#: common/models.py:2225
msgid "Escape Key Closes Forms"
-msgstr ""
+msgstr "退出键关闭表单"
-#: common/models.py:2220
+#: common/models.py:2226
msgid "Use the escape key to close modal forms"
-msgstr ""
+msgstr "使用退出键关闭模式表单"
-#: common/models.py:2226
+#: common/models.py:2232
msgid "Fixed Navbar"
-msgstr ""
+msgstr "固定导航栏"
-#: common/models.py:2227
+#: common/models.py:2233
msgid "The navbar position is fixed to the top of the screen"
-msgstr ""
+msgstr "导航栏位置固定为屏幕顶部"
-#: common/models.py:2233
+#: common/models.py:2239
msgid "Date Format"
-msgstr ""
+msgstr "日期格式"
-#: common/models.py:2234
+#: common/models.py:2240
msgid "Preferred format for displaying dates"
-msgstr ""
+msgstr "首选显示日期格式"
-#: common/models.py:2248 part/templates/part/detail.html:41
+#: common/models.py:2254 part/templates/part/detail.html:41
msgid "Part Scheduling"
-msgstr ""
+msgstr "零件排产"
-#: common/models.py:2249
+#: common/models.py:2255
msgid "Display part scheduling information"
-msgstr ""
+msgstr "显示配件日程安排"
-#: common/models.py:2255 part/templates/part/detail.html:62
+#: common/models.py:2261 part/templates/part/detail.html:62
msgid "Part Stocktake"
-msgstr ""
+msgstr "零件盘点"
-#: common/models.py:2256
+#: common/models.py:2262
msgid "Display part stocktake information (if stocktake functionality is enabled)"
-msgstr ""
+msgstr "显示部件盘点信息 (如果盘点功能已启用)"
-#: common/models.py:2262
+#: common/models.py:2268
msgid "Table String Length"
-msgstr ""
+msgstr "表字符串长度"
-#: common/models.py:2263
+#: common/models.py:2269
msgid "Maximimum length limit for strings displayed in table views"
-msgstr ""
+msgstr "表视图中显示字符串最大长度"
-#: common/models.py:2272
+#: common/models.py:2278
msgid "Default part label template"
-msgstr ""
+msgstr "默认部件标签模板"
-#: common/models.py:2273
+#: common/models.py:2279
msgid "The part label template to be automatically selected"
-msgstr ""
+msgstr "自动选择部件标签模板"
-#: common/models.py:2281
+#: common/models.py:2287
msgid "Default stock item template"
-msgstr ""
+msgstr "默认库存项目模板"
-#: common/models.py:2282
+#: common/models.py:2288
msgid "The stock item label template to be automatically selected"
-msgstr ""
+msgstr "自动选择的库存项标签模板"
-#: common/models.py:2290
+#: common/models.py:2296
msgid "Default stock location label template"
-msgstr ""
+msgstr "默认库存位置标签模板"
-#: common/models.py:2291
+#: common/models.py:2297
msgid "The stock location label template to be automatically selected"
-msgstr ""
+msgstr "自动选择的库存项位置标签模板"
-#: common/models.py:2299
+#: common/models.py:2305
msgid "Receive error reports"
-msgstr ""
+msgstr "接收错误报告"
-#: common/models.py:2300
+#: common/models.py:2306
msgid "Receive notifications for system errors"
-msgstr ""
+msgstr "接收系统错误的通知"
-#: common/models.py:2344
+#: common/models.py:2350
msgid "Price break quantity"
-msgstr ""
+msgstr "批发价数量"
-#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: common/models.py:2357 company/serializers.py:484 order/admin.py:41
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
-msgstr ""
+msgstr "价格"
-#: common/models.py:2352
+#: common/models.py:2358
msgid "Unit price at specified quantity"
-msgstr ""
+msgstr "按指定数量计算单位价格"
-#: common/models.py:2511 common/models.py:2689
+#: common/models.py:2517 common/models.py:2695
msgid "Endpoint"
-msgstr ""
+msgstr "终结点"
-#: common/models.py:2512
+#: common/models.py:2518
msgid "Endpoint at which this webhook is received"
-msgstr ""
+msgstr "接收此Webhook的终点"
-#: common/models.py:2521
+#: common/models.py:2527
msgid "Name for this webhook"
-msgstr ""
+msgstr "此Webhook 的名称"
-#: common/models.py:2526 part/admin.py:50 part/models.py:991
+#: common/models.py:2532 part/admin.py:50 part/models.py:991
#: plugin/models.py:48 templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:488
#: templates/js/translated/table_filters.js:516
-#: templates/js/translated/table_filters.js:712 users/models.py:154
+#: templates/js/translated/table_filters.js:712 users/models.py:171
msgid "Active"
-msgstr ""
+msgstr "启用"
-#: common/models.py:2527
+#: common/models.py:2533
msgid "Is this webhook active"
-msgstr ""
+msgstr "此Webhook 是否激活"
-#: common/models.py:2541 users/models.py:132
+#: common/models.py:2547 users/models.py:149
msgid "Token"
-msgstr ""
+msgstr "令牌"
-#: common/models.py:2542
+#: common/models.py:2548
msgid "Token for access"
-msgstr ""
+msgstr "使用令牌"
-#: common/models.py:2549
+#: common/models.py:2555
msgid "Secret"
-msgstr ""
+msgstr "安全码 (Secret)"
-#: common/models.py:2550
+#: common/models.py:2556
msgid "Shared secret for HMAC"
-msgstr ""
+msgstr "HMAC共享密钥"
-#: common/models.py:2656
+#: common/models.py:2662
msgid "Message ID"
-msgstr ""
+msgstr "消息ID"
-#: common/models.py:2657
+#: common/models.py:2663
msgid "Unique identifier for this message"
-msgstr ""
+msgstr "该消息的唯一标识符"
-#: common/models.py:2665
+#: common/models.py:2671
msgid "Host"
-msgstr ""
+msgstr "主机"
-#: common/models.py:2666
+#: common/models.py:2672
msgid "Host from which this message was received"
-msgstr ""
+msgstr "收到此消息的主机"
-#: common/models.py:2673
+#: common/models.py:2679
msgid "Header"
-msgstr ""
+msgstr "表头"
-#: common/models.py:2674
+#: common/models.py:2680
msgid "Header of this message"
-msgstr ""
+msgstr "此消息的标题"
-#: common/models.py:2680
+#: common/models.py:2686
msgid "Body"
-msgstr ""
+msgstr "正文"
-#: common/models.py:2681
+#: common/models.py:2687
msgid "Body of this message"
-msgstr ""
+msgstr "此消息的正文"
-#: common/models.py:2690
+#: common/models.py:2696
msgid "Endpoint on which this message was received"
-msgstr ""
+msgstr "收到该消息的终点"
-#: common/models.py:2695
+#: common/models.py:2701
msgid "Worked on"
-msgstr ""
+msgstr "工作于"
-#: common/models.py:2696
+#: common/models.py:2702
msgid "Was the work on this message finished?"
-msgstr ""
+msgstr "关于此信息的工作是否已完成?"
-#: common/models.py:2850
+#: common/models.py:2856
msgid "Id"
-msgstr ""
+msgstr "ID"
-#: common/models.py:2856 templates/js/translated/company.js:955
+#: common/models.py:2862 templates/js/translated/company.js:955
#: templates/js/translated/news.js:44
msgid "Title"
-msgstr ""
+msgstr "标题"
-#: common/models.py:2866 templates/js/translated/news.js:60
+#: common/models.py:2872 templates/js/translated/news.js:60
msgid "Published"
-msgstr ""
+msgstr "已发布"
-#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32
+#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102
msgid "Author"
-msgstr ""
+msgstr "作者"
-#: common/models.py:2876 templates/js/translated/news.js:52
+#: common/models.py:2882 templates/js/translated/news.js:52
msgid "Summary"
-msgstr ""
+msgstr "概述"
-#: common/models.py:2881
+#: common/models.py:2887
msgid "Read"
-msgstr ""
+msgstr "读取"
-#: common/models.py:2882
+#: common/models.py:2888
msgid "Was this news item read?"
-msgstr ""
+msgstr "这条消息是否已读?"
-#: common/models.py:2901 company/models.py:139 part/models.py:881
+#: common/models.py:2907 company/models.py:139 part/models.py:881
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3517,67 +3526,76 @@ msgstr ""
#: templates/hover_image.html:7 templates/hover_image.html:9
#: templates/modals.html:6
msgid "Image"
-msgstr ""
+msgstr "图片"
-#: common/models.py:2902
+#: common/models.py:2908
msgid "Image file"
-msgstr ""
+msgstr "图像文件"
-#: common/models.py:2945
+#: common/models.py:2951
msgid "Unit name must be a valid identifier"
-msgstr ""
+msgstr "单位名称必须是有效的标识符"
-#: common/models.py:2967
+#: common/models.py:2973
msgid "Unit name"
-msgstr ""
+msgstr "单位名称"
-#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75
+#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75
msgid "Symbol"
-msgstr ""
+msgstr "符号:"
-#: common/models.py:2974
+#: common/models.py:2980
msgid "Optional unit symbol"
-msgstr ""
+msgstr "可选的单位符号"
-#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71
+#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71
msgid "Definition"
-msgstr ""
+msgstr "定义"
-#: common/models.py:2981
+#: common/models.py:2987
msgid "Unit definition"
-msgstr ""
+msgstr "单位定义"
#: common/notifications.py:290
#, python-brace-format
msgid "New {verbose_name}"
-msgstr ""
+msgstr "新建{verbose_name}"
#: common/notifications.py:292
msgid "A new order has been created and assigned to you"
-msgstr ""
+msgstr "有新订单被创建并分配给你"
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
-msgstr ""
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr "{verbose_name} 已取消"
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr "已取消分配给您的订单"
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr "收到的项目"
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
-msgstr ""
+msgstr "已收到订单中的项目"
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
-msgstr ""
+msgstr "已收到退货单中的项目"
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
-msgstr ""
+msgstr "插件引起错误"
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
-msgstr ""
+msgstr "上传文件"
#: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:119
@@ -3585,19 +3603,19 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109
#: templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
-msgstr ""
+msgstr "匹配字段"
#: common/views.py:87
msgid "Match Items"
-msgstr ""
+msgstr "匹配项"
#: common/views.py:420
msgid "Fields matching failed"
-msgstr ""
+msgstr "字段匹配失败"
#: common/views.py:481
msgid "Parts imported"
-msgstr ""
+msgstr "已导入商品"
#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
@@ -3608,184 +3626,184 @@ msgstr ""
#: templates/patterns/wizard/match_fields.html:26
#: templates/patterns/wizard/upload.html:35
msgid "Previous Step"
-msgstr ""
+msgstr "上一步"
#: company/models.py:106
msgid "Company description"
-msgstr ""
+msgstr "公司简介"
#: company/models.py:107
msgid "Description of the company"
-msgstr ""
+msgstr "公司简介"
#: company/models.py:113 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:522
msgid "Website"
-msgstr ""
+msgstr "网站"
#: company/models.py:114
msgid "Company website URL"
-msgstr ""
+msgstr "公司网站"
#: company/models.py:118
msgid "Phone number"
-msgstr ""
+msgstr "电话号码"
#: company/models.py:119
msgid "Contact phone number"
-msgstr ""
+msgstr "联系电话"
#: company/models.py:122
msgid "Contact email address"
-msgstr ""
+msgstr "联系人电子邮件"
#: company/models.py:125 company/templates/company/company_base.html:139
#: order/models.py:264 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
-msgstr ""
+msgstr "联系人"
#: company/models.py:126
msgid "Point of contact"
-msgstr ""
+msgstr "联络点"
#: company/models.py:128
msgid "Link to external company information"
-msgstr ""
+msgstr "链接到外部公司信息"
#: company/models.py:142
msgid "is customer"
-msgstr ""
+msgstr "是客户"
#: company/models.py:142
msgid "Do you sell items to this company?"
-msgstr ""
+msgstr "您是否向该公司出售商品?"
#: company/models.py:144
msgid "is supplier"
-msgstr ""
+msgstr "是供应商"
#: company/models.py:144
msgid "Do you purchase items from this company?"
-msgstr ""
+msgstr "您是否从该公司采购商品?"
#: company/models.py:146
msgid "is manufacturer"
-msgstr ""
+msgstr "是制造商"
#: company/models.py:146
msgid "Does this company manufacture parts?"
-msgstr ""
+msgstr "该公司制造商品吗?"
#: company/models.py:153
msgid "Default currency used for this company"
-msgstr ""
+msgstr "该公司使用的默认货币"
#: company/models.py:232 company/models.py:333
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
msgid "Company"
-msgstr ""
+msgstr "公司"
#: company/models.py:334
msgid "Select company"
-msgstr ""
+msgstr "选择公司"
#: company/models.py:337
msgid "Address title"
-msgstr ""
+msgstr "地址标题"
#: company/models.py:338
msgid "Title describing the address entry"
-msgstr ""
+msgstr "描述地址条目的标题"
#: company/models.py:342
msgid "Primary address"
-msgstr ""
+msgstr "主要地址"
#: company/models.py:343
msgid "Set as primary address"
-msgstr ""
+msgstr "设为主要地址"
#: company/models.py:346 templates/js/translated/company.js:904
#: templates/js/translated/company.js:961
msgid "Line 1"
-msgstr ""
+msgstr "第1行"
#: company/models.py:347
msgid "Address line 1"
-msgstr ""
+msgstr "地址行1"
#: company/models.py:351 templates/js/translated/company.js:905
#: templates/js/translated/company.js:967
msgid "Line 2"
-msgstr ""
+msgstr "第2行"
#: company/models.py:352
msgid "Address line 2"
-msgstr ""
+msgstr "地址行2"
#: company/models.py:356 company/models.py:357
#: templates/js/translated/company.js:973
msgid "Postal code"
-msgstr ""
+msgstr "邮政编码"
#: company/models.py:361
msgid "City/Region"
-msgstr ""
+msgstr "城市/地区"
#: company/models.py:362
msgid "Postal code city/region"
-msgstr ""
+msgstr "邮政编码城市/地区"
#: company/models.py:366
msgid "State/Province"
-msgstr ""
+msgstr "州/省"
#: company/models.py:367
msgid "State or province"
-msgstr ""
+msgstr "州或省"
#: company/models.py:371 templates/js/translated/company.js:991
msgid "Country"
-msgstr ""
+msgstr "国家/地区"
#: company/models.py:372
msgid "Address country"
-msgstr ""
+msgstr "地址所在国家"
#: company/models.py:376
msgid "Courier shipping notes"
-msgstr ""
+msgstr "快递送货便笺"
#: company/models.py:377
msgid "Notes for shipping courier"
-msgstr ""
+msgstr "配送接受人的备注"
#: company/models.py:381
msgid "Internal shipping notes"
-msgstr ""
+msgstr "内部配送笔记"
#: company/models.py:382
msgid "Shipping notes for internal use"
-msgstr ""
+msgstr "供内部使用的配送便笺"
#: company/models.py:387
msgid "Link to address information (external)"
-msgstr ""
+msgstr "链接地址信息(外部)"
#: company/models.py:412 company/models.py:688 stock/models.py:709
#: stock/serializers.py:205 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
-msgstr ""
+msgstr "基础部件"
#: company/models.py:416 company/models.py:692
msgid "Select part"
-msgstr ""
+msgstr "选择商品"
#: company/models.py:427 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
@@ -3797,11 +3815,11 @@ msgstr ""
#: templates/js/translated/company.js:1601
#: templates/js/translated/table_filters.js:792
msgid "Manufacturer"
-msgstr ""
+msgstr "制造商"
#: company/models.py:428
msgid "Select manufacturer"
-msgstr ""
+msgstr "选择制造商"
#: company/models.py:434 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:447
@@ -3812,30 +3830,30 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1845
#: templates/js/translated/purchase_order.js:2047
msgid "MPN"
-msgstr ""
+msgstr "制造商零件编号(MPN)"
#: company/models.py:435
msgid "Manufacturer Part Number"
-msgstr ""
+msgstr "制造商商品编号"
#: company/models.py:441
msgid "URL for external manufacturer part link"
-msgstr ""
+msgstr "外部制造商部件链接的 URL"
#: company/models.py:447
msgid "Manufacturer part description"
-msgstr ""
+msgstr "制造商商品描述"
#: company/models.py:494 company/models.py:518 company/models.py:713
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
-msgstr ""
+msgstr "制造商商品"
#: company/models.py:525
msgid "Parameter name"
-msgstr ""
+msgstr "参数名称"
#: company/models.py:531
#: report/templates/report/inventree_test_report_base.html:104
@@ -3843,11 +3861,11 @@ msgstr ""
#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1502
msgid "Value"
-msgstr ""
+msgstr "数值"
#: company/models.py:532
msgid "Parameter value"
-msgstr ""
+msgstr "参数值"
#: company/models.py:538 company/templates/company/supplier_part.html:168
#: part/admin.py:40 part/models.py:955 part/models.py:3406
@@ -3855,30 +3873,30 @@ msgstr ""
#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368
msgid "Units"
-msgstr ""
+msgstr "单位"
#: company/models.py:539
msgid "Parameter units"
-msgstr ""
+msgstr "参数单位"
#: company/models.py:633
msgid "Pack units must be compatible with the base part units"
-msgstr ""
+msgstr "包装单位必须与基础部件单位兼容"
#: company/models.py:639
msgid "Pack units must be greater than zero"
-msgstr ""
+msgstr "包单元必须大于0"
#: company/models.py:655
msgid "Linked manufacturer part must reference the same base part"
-msgstr ""
+msgstr "链接的制造商部件必须引用相同的基础部件"
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -3887,11 +3905,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1683
#: templates/js/translated/table_filters.js:796
msgid "Supplier"
-msgstr ""
+msgstr "供应商"
#: company/models.py:700
msgid "Select supplier"
-msgstr ""
+msgstr "选择供应商"
#: company/models.py:705 company/templates/company/supplier_part.html:139
#: part/bom.py:285 part/bom.py:313 part/serializers.py:436
@@ -3900,23 +3918,23 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1844
#: templates/js/translated/purchase_order.js:2022
msgid "SKU"
-msgstr ""
+msgstr "库存量单位"
#: company/models.py:706 part/serializers.py:436
msgid "Supplier stock keeping unit"
-msgstr ""
+msgstr "供应商库存量单位"
#: company/models.py:714
msgid "Select manufacturer part"
-msgstr ""
+msgstr "选择制造商商品"
#: company/models.py:720
msgid "URL for external supplier part link"
-msgstr ""
+msgstr "外部供货商商品链接URL"
#: company/models.py:726
msgid "Supplier part description"
-msgstr ""
+msgstr "供应商商品描述"
#: company/models.py:731 company/templates/company/supplier_part.html:187
#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59
@@ -3927,15 +3945,15 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:32
#: stock/serializers.py:501
msgid "Note"
-msgstr ""
+msgstr "备注"
#: company/models.py:735 part/models.py:1889
msgid "base cost"
-msgstr ""
+msgstr "基本费用"
#: company/models.py:735 part/models.py:1889
msgid "Minimum charge (e.g. stocking fee)"
-msgstr ""
+msgstr "最低收费(例如库存费)"
#: company/models.py:737 company/templates/company/supplier_part.html:160
#: stock/admin.py:137 stock/models.py:735 stock/serializers.py:1297
@@ -3943,11 +3961,11 @@ msgstr ""
#: templates/js/translated/company.js:1636
#: templates/js/translated/stock.js:2394
msgid "Packaging"
-msgstr ""
+msgstr "打包"
#: company/models.py:737
msgid "Part packaging"
-msgstr ""
+msgstr "商品打包"
#: company/models.py:741 templates/js/translated/company.js:1641
#: templates/js/translated/part.js:1820 templates/js/translated/part.js:1875
@@ -3957,62 +3975,62 @@ msgstr ""
#: templates/js/translated/purchase_order.js:2078
#: templates/js/translated/purchase_order.js:2095
msgid "Pack Quantity"
-msgstr ""
+msgstr "包装数量"
#: company/models.py:742
msgid "Total quantity supplied in a single pack. Leave empty for single items."
-msgstr ""
+msgstr "一个包装所包含的零件个数,为空则为1个/包装"
#: company/models.py:758 part/models.py:1891
msgid "multiple"
-msgstr ""
+msgstr "多个"
#: company/models.py:758
msgid "Order multiple"
-msgstr ""
+msgstr "订购多个"
#: company/models.py:767
msgid "Quantity available from supplier"
-msgstr ""
+msgstr "供应商的存货数量"
#: company/models.py:771
msgid "Availability Updated"
-msgstr ""
+msgstr "可用性更新成功"
#: company/models.py:772
msgid "Date of last update of availability data"
-msgstr ""
+msgstr "可用数据最后更新日期"
#: company/serializers.py:153
msgid "Default currency used for this supplier"
-msgstr ""
+msgstr "该公司使用的默认货币"
#: company/templates/company/company_base.html:21
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
-msgstr ""
+msgstr "创建采购订单"
#: company/templates/company/company_base.html:27
msgid "Company actions"
-msgstr ""
+msgstr "公司操作"
#: company/templates/company/company_base.html:32
msgid "Edit company information"
-msgstr ""
+msgstr "编辑公司信息"
#: company/templates/company/company_base.html:33
#: templates/js/translated/company.js:444
msgid "Edit Company"
-msgstr ""
+msgstr "编辑公司信息"
#: company/templates/company/company_base.html:37
msgid "Delete company"
-msgstr ""
+msgstr "删除该公司"
#: company/templates/company/company_base.html:38
#: company/templates/company/company_base.html:162
msgid "Delete Company"
-msgstr ""
+msgstr "删除该公司"
#: company/templates/company/company_base.html:47
#: company/templates/company/manufacturer_part.html:51
@@ -4024,25 +4042,25 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:84
#: report/templates/report/inventree_test_report_base.html:163
msgid "Part image"
-msgstr ""
+msgstr "部件图像"
#: company/templates/company/company_base.html:55
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
-msgstr ""
+msgstr "上传新图片"
#: company/templates/company/company_base.html:58
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
-msgstr ""
+msgstr "从 URL 下载图片"
#: company/templates/company/company_base.html:60
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
-msgstr ""
+msgstr "删除图片"
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4053,81 +4071,81 @@ msgstr ""
#: templates/js/translated/stock.js:2930
#: templates/js/translated/table_filters.js:800
msgid "Customer"
-msgstr ""
+msgstr "客户"
#: company/templates/company/company_base.html:111
msgid "Uses default currency"
-msgstr ""
+msgstr "使用默认货币"
#: company/templates/company/company_base.html:118 order/models.py:273
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
-msgstr ""
+msgstr "地址"
#: company/templates/company/company_base.html:125
msgid "Phone"
-msgstr ""
+msgstr "电话"
#: company/templates/company/company_base.html:205
#: part/templates/part/part_base.html:528
msgid "Remove Image"
-msgstr ""
+msgstr "删除图片"
#: company/templates/company/company_base.html:206
msgid "Remove associated image from this company"
-msgstr ""
+msgstr "删除与公司关联的图片"
#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
-msgstr ""
+msgstr "移除"
#: company/templates/company/company_base.html:237
#: part/templates/part/part_base.html:560
msgid "Upload Image"
-msgstr ""
+msgstr "上传图片"
#: company/templates/company/company_base.html:252
#: part/templates/part/part_base.html:614
msgid "Download Image"
-msgstr ""
+msgstr "下载图片"
#: company/templates/company/detail.html:15
#: company/templates/company/manufacturer_part_sidebar.html:7
#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147
msgid "Supplier Parts"
-msgstr ""
+msgstr "供应商商品"
#: company/templates/company/detail.html:19
msgid "Create new supplier part"
-msgstr ""
+msgstr "创建新的供应商商品"
#: company/templates/company/detail.html:20
#: company/templates/company/manufacturer_part.html:123
#: part/templates/part/detail.html:356
msgid "New Supplier Part"
-msgstr ""
+msgstr "新建供应商商品"
#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105
#: templates/js/translated/search.js:151
msgid "Manufacturer Parts"
-msgstr ""
+msgstr "制造商商品"
#: company/templates/company/detail.html:45
msgid "Create new manufacturer part"
-msgstr ""
+msgstr "新建制造商商品"
#: company/templates/company/detail.html:46 part/templates/part/detail.html:376
msgid "New Manufacturer Part"
-msgstr ""
+msgstr "新建制造商商品"
#: company/templates/company/detail.html:65
msgid "Supplier Stock"
-msgstr ""
+msgstr "供货商库存"
#: company/templates/company/detail.html:75
#: company/templates/company/sidebar.html:12
@@ -4139,19 +4157,19 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:180
+#: users/models.py:197
msgid "Purchase Orders"
-msgstr ""
+msgstr "采购订单"
#: company/templates/company/detail.html:79
#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
-msgstr ""
+msgstr "新建采购订单"
#: company/templates/company/detail.html:80
#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
-msgstr ""
+msgstr "新建采购订单"
#: company/templates/company/detail.html:101
#: company/templates/company/sidebar.html:21
@@ -4162,23 +4180,23 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:181
+#: users/models.py:198
msgid "Sales Orders"
-msgstr "銷售訂單"
+msgstr "销售订单"
#: company/templates/company/detail.html:105
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
-msgstr ""
+msgstr "新建销售订单"
#: company/templates/company/detail.html:106
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
-msgstr ""
+msgstr "新建销售订单"
#: company/templates/company/detail.html:126
msgid "Assigned Stock"
-msgstr ""
+msgstr "已分配的库存"
#: company/templates/company/detail.html:142
#: company/templates/company/sidebar.html:29
@@ -4187,121 +4205,121 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:182
+#: users/models.py:199
msgid "Return Orders"
-msgstr ""
+msgstr "退货订单"
#: company/templates/company/detail.html:146
#: order/templates/order/return_orders.html:20
msgid "Create new return order"
-msgstr ""
+msgstr "创建新的退货顺序"
#: company/templates/company/detail.html:147
#: order/templates/order/return_orders.html:21
msgid "New Return Order"
-msgstr ""
+msgstr "新的退货订单"
#: company/templates/company/detail.html:168
msgid "Company Notes"
-msgstr ""
+msgstr "公司备注"
#: company/templates/company/detail.html:183
msgid "Company Contacts"
-msgstr ""
+msgstr "公司联系人"
#: company/templates/company/detail.html:187
#: company/templates/company/detail.html:188
msgid "Add Contact"
-msgstr ""
+msgstr "添加联系人"
#: company/templates/company/detail.html:206
msgid "Company addresses"
-msgstr ""
+msgstr "公司地址"
#: company/templates/company/detail.html:210
#: company/templates/company/detail.html:211
msgid "Add Address"
-msgstr ""
+msgstr "新增地址"
#: company/templates/company/manufacturer_part.html:15 company/views.py:37
#: templates/InvenTree/search.html:180 templates/navbar.html:49
msgid "Manufacturers"
-msgstr ""
+msgstr "制造商"
#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:227
#: part/templates/part/detail.html:109 part/templates/part/part_base.html:83
msgid "Order part"
-msgstr ""
+msgstr "订购商品"
#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:1333
msgid "Edit manufacturer part"
-msgstr ""
+msgstr "编辑制造商商品"
#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:1334
msgid "Delete manufacturer part"
-msgstr ""
+msgstr "删除生产商商品"
#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:97
msgid "Internal Part"
-msgstr ""
+msgstr "内部商品"
#: company/templates/company/manufacturer_part.html:95
msgid "No manufacturer information available"
-msgstr ""
+msgstr "无可用供应商信息"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
#: part/admin.py:60 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:190 templates/navbar.html:48
msgid "Suppliers"
-msgstr ""
+msgstr "供应商"
#: company/templates/company/manufacturer_part.html:156
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:20
#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8
msgid "Parameters"
-msgstr ""
+msgstr "参数"
#: company/templates/company/manufacturer_part.html:160
#: part/templates/part/detail.html:200
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part_parameters.html:24
msgid "New Parameter"
-msgstr ""
+msgstr "新建参数"
#: company/templates/company/manufacturer_part.html:206
#: templates/js/translated/part.js:1422
msgid "Add Parameter"
-msgstr ""
+msgstr "添加参数"
#: company/templates/company/sidebar.html:6
msgid "Manufactured Parts"
-msgstr ""
+msgstr "制造商零件"
#: company/templates/company/sidebar.html:10
msgid "Supplied Parts"
-msgstr ""
+msgstr "供应商零件"
#: company/templates/company/sidebar.html:16
msgid "Supplied Stock Items"
-msgstr ""
+msgstr "供应的库存物品"
#: company/templates/company/sidebar.html:25
msgid "Assigned Stock Items"
-msgstr ""
+msgstr "分配的库存物品"
#: company/templates/company/sidebar.html:33
msgid "Contacts"
-msgstr ""
+msgstr "联系人"
#: company/templates/company/sidebar.html:35
msgid "Addresses"
-msgstr ""
+msgstr "地址"
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:718
@@ -4310,89 +4328,89 @@ msgstr ""
#: templates/js/translated/purchase_order.js:761
#: templates/js/translated/stock.js:2250
msgid "Supplier Part"
-msgstr ""
+msgstr "供应商商品"
#: company/templates/company/supplier_part.html:50
#: templates/js/translated/company.js:1516
msgid "Supplier part actions"
-msgstr ""
+msgstr "供应商配件操作"
#: company/templates/company/supplier_part.html:55
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:228
#: part/templates/part/detail.html:110
msgid "Order Part"
-msgstr ""
+msgstr "订购商品"
#: company/templates/company/supplier_part.html:60
#: company/templates/company/supplier_part.html:61
msgid "Update Availability"
-msgstr ""
+msgstr "更新可用性"
#: company/templates/company/supplier_part.html:63
#: company/templates/company/supplier_part.html:64
#: templates/js/translated/company.js:294
msgid "Edit Supplier Part"
-msgstr ""
+msgstr "编辑供应商商品"
#: company/templates/company/supplier_part.html:68
#: company/templates/company/supplier_part.html:69
#: templates/js/translated/company.js:269
msgid "Duplicate Supplier Part"
-msgstr ""
+msgstr "复制供应商零件"
#: company/templates/company/supplier_part.html:73
msgid "Delete Supplier Part"
-msgstr ""
+msgstr "删除供应商零件"
#: company/templates/company/supplier_part.html:74
msgid "Delete Supplier Part"
-msgstr ""
+msgstr "删除供应商零件"
#: company/templates/company/supplier_part.html:133
msgid "No supplier information available"
-msgstr ""
+msgstr "没有可用的供应商信息"
#: company/templates/company/supplier_part.html:206
msgid "Supplier Part Stock"
-msgstr ""
+msgstr "供货商商品库存"
#: company/templates/company/supplier_part.html:209
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199
msgid "Create new stock item"
-msgstr ""
+msgstr "创建新的库存项"
#: company/templates/company/supplier_part.html:210
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200
#: templates/js/translated/stock.js:537
msgid "New Stock Item"
-msgstr ""
+msgstr "新建库存项"
#: company/templates/company/supplier_part.html:223
msgid "Supplier Part Orders"
-msgstr ""
+msgstr "供应商商品订单"
#: company/templates/company/supplier_part.html:246
msgid "Pricing Information"
-msgstr ""
+msgstr "价格信息"
#: company/templates/company/supplier_part.html:251
#: templates/js/translated/company.js:398
#: templates/js/translated/pricing.js:684
msgid "Add Price Break"
-msgstr ""
+msgstr "新增价格限制"
#: company/templates/company/supplier_part.html:276
msgid "Supplier Part QR Code"
-msgstr ""
+msgstr "供应商零件二维码"
#: company/templates/company/supplier_part.html:287
msgid "Link Barcode to Supplier Part"
-msgstr ""
+msgstr "绑定二维码到供应商"
#: company/templates/company/supplier_part.html:359
msgid "Update Part Availability"
-msgstr ""
+msgstr "更新零件可用性"
#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222
#: part/templates/part/category.html:183
@@ -4403,110 +4421,110 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
-#: users/models.py:178
+#: users/models.py:195
msgid "Stock Items"
-msgstr ""
+msgstr "库存项"
#: company/templates/company/supplier_part_sidebar.html:9
msgid "Supplier Part Pricing"
-msgstr ""
+msgstr "供应商商品价格"
#: company/views.py:32
msgid "New Supplier"
-msgstr ""
+msgstr "新增供应商"
#: company/views.py:38
msgid "New Manufacturer"
-msgstr ""
+msgstr "新建制造商"
#: company/views.py:43 templates/InvenTree/search.html:210
#: templates/navbar.html:60
msgid "Customers"
-msgstr ""
+msgstr "客户信息"
#: company/views.py:44
msgid "New Customer"
-msgstr ""
+msgstr "新建客户"
#: company/views.py:51 templates/js/translated/search.js:192
msgid "Companies"
-msgstr ""
+msgstr "公司"
#: company/views.py:52
msgid "New Company"
-msgstr ""
+msgstr "新建公司信息"
#: label/models.py:117
msgid "Label name"
-msgstr ""
+msgstr "标签名称"
#: label/models.py:124
msgid "Label description"
-msgstr ""
+msgstr "标签说明"
#: label/models.py:131
msgid "Label"
-msgstr ""
+msgstr "标签"
#: label/models.py:132
msgid "Label template file"
-msgstr ""
+msgstr "标签模板文件"
#: label/models.py:138 report/models.py:311
msgid "Enabled"
-msgstr ""
+msgstr "已启用"
#: label/models.py:139
msgid "Label template is enabled"
-msgstr ""
+msgstr "标签模板已启用"
#: label/models.py:144
msgid "Width [mm]"
-msgstr ""
+msgstr "宽度 [mm]"
#: label/models.py:145
msgid "Label width, specified in mm"
-msgstr ""
+msgstr "标注宽度,以毫米为单位。"
#: label/models.py:151
msgid "Height [mm]"
-msgstr ""
+msgstr "高度 [mm]"
#: label/models.py:152
msgid "Label height, specified in mm"
-msgstr ""
+msgstr "标注高度,以毫米为单位。"
#: label/models.py:158 report/models.py:304
msgid "Filename Pattern"
-msgstr ""
+msgstr "文件名样式"
#: label/models.py:159
msgid "Pattern for generating label filenames"
-msgstr ""
+msgstr "生成标签文件名模式"
#: label/models.py:326 label/models.py:367 label/models.py:395
#: label/models.py:431
msgid "Query filters (comma-separated list of key=value pairs)"
-msgstr ""
+msgstr "查询筛选器 (逗号分隔的键值对列表)"
#: label/models.py:327 label/models.py:368 label/models.py:396
#: label/models.py:432 report/models.py:332 report/models.py:478
#: report/models.py:516 report/models.py:554 report/models.py:675
msgid "Filters"
-msgstr ""
+msgstr "筛选器"
#: label/templates/label/part/part_label.html:31
#: label/templates/label/stockitem/qr.html:21
#: label/templates/label/stocklocation/qr.html:20
#: templates/allauth_2fa/setup.html:18
msgid "QR Code"
-msgstr ""
+msgstr "二维码"
#: label/templates/label/part/part_label_code128.html:31
#: label/templates/label/stocklocation/qr_and_text.html:31
#: templates/qr_code.html:7
msgid "QR code"
-msgstr ""
+msgstr "二维码"
#: order/admin.py:29 order/models.py:72
#: report/templates/report/inventree_po_report_base.html:31
@@ -4515,13 +4533,13 @@ msgstr ""
#: templates/js/translated/purchase_order.js:2119
#: templates/js/translated/sales_order.js:1847
msgid "Total Price"
-msgstr ""
+msgstr "总价"
#: order/api.py:231
msgid "No matching purchase order found"
-msgstr ""
+msgstr "没有发现采购单"
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4533,203 +4551,203 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1667
#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878
msgid "Purchase Order"
-msgstr ""
+msgstr "采购订单"
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:281
#: templates/js/translated/stock.js:2912
msgid "Return Order"
-msgstr ""
+msgstr "退货订单"
#: order/api.py:1414 templates/js/translated/sales_order.js:1042
msgid "Unknown"
-msgstr ""
+msgstr "未知"
#: order/models.py:73
msgid "Total price for this order"
-msgstr ""
+msgstr "订单总价格"
#: order/models.py:78 order/serializers.py:50
msgid "Order Currency"
-msgstr ""
+msgstr "订单货币"
#: order/models.py:80 order/serializers.py:51
msgid "Currency for this order (leave blank to use company default)"
-msgstr ""
+msgstr "订单交易的货比类型(为空则使用默认值)"
#: order/models.py:206
msgid "Contact does not match selected company"
-msgstr ""
+msgstr "联系人与所选公司不匹配"
#: order/models.py:226
msgid "Order description (optional)"
-msgstr ""
+msgstr "订单描述(可选)"
#: order/models.py:231
msgid "Select project code for this order"
-msgstr ""
+msgstr "为此订单选择工程代码"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
-msgstr ""
+msgstr "链接到外部页面"
#: order/models.py:239
msgid "Expected date for order delivery. Order will be overdue after this date."
-msgstr ""
+msgstr "预期订单交付日期。超过该日期后订单将逾期。"
#: order/models.py:248
msgid "Created By"
-msgstr ""
+msgstr "创建者"
#: order/models.py:255
msgid "User or group responsible for this order"
-msgstr ""
+msgstr "负责此订单的用户或群组"
#: order/models.py:265
msgid "Point of contact for this order"
-msgstr ""
+msgstr "此订单的联系点"
#: order/models.py:274
msgid "Company address for this order"
-msgstr ""
+msgstr "此订单的公司地址"
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
-msgstr ""
+msgstr "订单参考号"
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
-msgstr ""
+msgstr "采购订单状态"
#: order/models.py:387
msgid "Company from which the items are being ordered"
-msgstr ""
+msgstr "订购该商品的公司"
#: order/models.py:395 order/templates/order/order_base.html:148
#: templates/js/translated/purchase_order.js:1696
msgid "Supplier Reference"
-msgstr ""
+msgstr "参考供应商"
#: order/models.py:395
msgid "Supplier order reference code"
-msgstr ""
+msgstr "供应商订单参考代码"
#: order/models.py:402
msgid "received by"
-msgstr ""
+msgstr "接收方"
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
-msgstr ""
+msgstr "签发日期"
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
-msgstr ""
+msgstr "订单签发日期"
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
-msgstr ""
+msgstr "订单完成日期"
#: order/models.py:449
msgid "Part supplier must match PO supplier"
-msgstr ""
+msgstr "零件供应商必须与 PO供应商匹配"
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
-msgstr ""
+msgstr "数量必须大于0"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
-msgstr ""
+msgstr "向其出售该商品的公司"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
-msgstr ""
+msgstr "客户参考编 "
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
-msgstr ""
+msgstr "客户订单参考码"
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
-msgstr ""
+msgstr "发货日期"
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
-msgstr ""
+msgstr "发货人"
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
-msgstr ""
+msgstr "尚未分配部件,因此订单无法完成"
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
-msgstr ""
+msgstr "只有打开订单可以标记为完成"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
-msgstr ""
+msgstr "订单无法完成,因为货运未完成"
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
-msgstr ""
+msgstr "订单无法完成,因为有不完整的行项目"
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
-msgstr ""
+msgstr "物品数量"
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
-msgstr ""
+msgstr "行项目引用"
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
-msgstr ""
+msgstr "行项目注释"
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
-msgstr ""
+msgstr "此行项目的目标日期(留空以使用从订单起的目标日期)"
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
-msgstr ""
+msgstr "行项目描述(可选)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
-msgstr ""
+msgstr "上下文"
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
-msgstr ""
+msgstr "此行的附加上下文:"
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
-msgstr ""
+msgstr "单价"
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
-msgstr ""
+msgstr "供应商配件必须匹配供应商"
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
-msgstr ""
+msgstr "已删除"
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
-msgstr ""
+msgstr "订单"
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
-msgstr ""
+msgstr "供应商商品"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4737,379 +4755,379 @@ msgstr ""
#: templates/js/translated/table_filters.js:120
#: templates/js/translated/table_filters.js:598
msgid "Received"
-msgstr ""
+msgstr "收到"
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
-msgstr ""
+msgstr "收到的项目数目"
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
-msgstr ""
+msgstr "采购价格"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
-msgstr ""
+msgstr "采购单价"
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
-msgstr ""
+msgstr "采购方希望将此物品存放在何处?"
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
-msgstr ""
+msgstr "虚拟产品不能分配销售订单"
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
-msgstr ""
+msgstr "只有可销售产品可以分配销售订单"
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
-msgstr ""
+msgstr "销售价格"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
-msgstr ""
+msgstr "销售单价"
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
-msgstr ""
+msgstr "发货数量"
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
-msgstr ""
+msgstr "发货日期"
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
-msgstr ""
+msgstr "交货日期(合同)"
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
-msgstr ""
+msgstr "物流交货日期"
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
-msgstr ""
+msgstr "审核人"
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
-msgstr ""
+msgstr "物流审核人"
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
-msgstr ""
+msgstr "发货"
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
-msgstr ""
+msgstr "发货单号"
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
-msgstr ""
+msgstr "跟踪单号"
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
-msgstr ""
+msgstr "发货跟踪信息"
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
-msgstr ""
+msgstr "发票号码"
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
-msgstr ""
+msgstr "与发票相关联的参考号码"
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
-msgstr ""
+msgstr "物流已发出"
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
-msgstr ""
+msgstr "装运没有分配的库存物品"
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
-msgstr ""
+msgstr "库存物品尚未分配"
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
-msgstr ""
+msgstr "无法将库存物品分配给与不同零件的行"
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
-msgstr ""
+msgstr "无法将库存分配给没有零件的行"
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
-msgstr ""
+msgstr "分配数量不能超过库存数量"
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
-msgstr ""
+msgstr "序列化库存物品的数量必须为1"
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
-msgstr ""
+msgstr "销售订单与装运不符"
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
-msgstr ""
+msgstr "装运与销售订单不符"
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
-msgstr ""
+msgstr "行"
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
-msgstr ""
+msgstr "销售订单装运参考"
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
-msgstr ""
+msgstr "物品"
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
-msgstr ""
+msgstr "选择要分配的库存物品"
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
-msgstr ""
+msgstr "输入库存分配数量"
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
-msgstr ""
+msgstr "退货订单参考"
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
-msgstr ""
+msgstr "退还物品的公司"
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
-msgstr ""
+msgstr "退货订单状态"
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
-msgstr ""
+msgstr "只有序列化项目可以分配到退货订单"
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
-msgstr ""
+msgstr "选择要从客户返回的项目"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
-msgstr ""
+msgstr "收到日期"
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
-msgstr ""
+msgstr "收到此退货项的日期"
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
-msgstr ""
+msgstr "输出"
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
-msgstr ""
+msgstr "此行项目的输出"
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
-msgstr ""
+msgstr "返回或修理此直线项目的相关成本"
#: order/serializers.py:258
msgid "Order cannot be cancelled"
-msgstr ""
+msgstr "无法取消订单"
#: order/serializers.py:273 order/serializers.py:1164
msgid "Allow order to be closed with incomplete line items"
-msgstr ""
+msgstr "允许订单以不完整的行项目关闭"
#: order/serializers.py:283 order/serializers.py:1174
msgid "Order has incomplete line items"
-msgstr ""
+msgstr "订单有不完整的行项目"
#: order/serializers.py:396
msgid "Order is not open"
-msgstr ""
+msgstr "订单未打开"
#: order/serializers.py:414
msgid "Purchase price currency"
-msgstr ""
+msgstr "购买价格货币"
#: order/serializers.py:432
msgid "Supplier part must be specified"
-msgstr ""
+msgstr "必须指定供应商部件"
#: order/serializers.py:437
msgid "Purchase order must be specified"
-msgstr ""
+msgstr "必须指定采购订单"
#: order/serializers.py:443
msgid "Supplier must match purchase order"
-msgstr ""
+msgstr "供应商必须匹配订购单"
#: order/serializers.py:444
msgid "Purchase order must match supplier"
-msgstr ""
+msgstr "购买订单必须匹配供应商"
#: order/serializers.py:482 order/serializers.py:1250
msgid "Line Item"
-msgstr ""
+msgstr "行条目"
#: order/serializers.py:488
msgid "Line item does not match purchase order"
-msgstr ""
+msgstr "行条目与订单不匹配"
#: order/serializers.py:498 order/serializers.py:617 order/serializers.py:1624
msgid "Select destination location for received items"
-msgstr ""
+msgstr "选择入库地点"
#: order/serializers.py:517 templates/js/translated/purchase_order.js:1126
msgid "Enter batch code for incoming stock items"
-msgstr ""
+msgstr "输入进货物品的批量代码"
#: order/serializers.py:525 templates/js/translated/purchase_order.js:1150
msgid "Enter serial numbers for incoming stock items"
-msgstr ""
+msgstr "输入入库存项目的序列号"
#: order/serializers.py:538 templates/js/translated/barcode.js:52
msgid "Barcode"
-msgstr ""
+msgstr "条形码"
#: order/serializers.py:539
msgid "Scanned barcode"
-msgstr ""
+msgstr "已扫描条形码"
#: order/serializers.py:555
msgid "Barcode is already in use"
-msgstr ""
+msgstr "条形码已被使用"
#: order/serializers.py:579
msgid "An integer quantity must be provided for trackable parts"
-msgstr ""
+msgstr "必须为可跟踪的零件提供整数"
#: order/serializers.py:633 order/serializers.py:1638
msgid "Line items must be provided"
-msgstr ""
+msgstr "必须提供行项目"
#: order/serializers.py:650
msgid "Destination location must be specified"
-msgstr ""
+msgstr "目标位置必须指定"
#: order/serializers.py:661
msgid "Supplied barcode values must be unique"
-msgstr ""
+msgstr "提供条形码值必须是唯一的"
#: order/serializers.py:986
msgid "Sale price currency"
-msgstr ""
+msgstr "销售价格货币"
#: order/serializers.py:1043
msgid "No shipment details provided"
-msgstr ""
+msgstr "未提供装运详情"
#: order/serializers.py:1107 order/serializers.py:1259
msgid "Line item is not associated with this order"
-msgstr ""
+msgstr "行条目没有与此订单关联"
#: order/serializers.py:1129
msgid "Quantity must be positive"
-msgstr ""
+msgstr "数量必须大于0"
#: order/serializers.py:1272
msgid "Enter serial numbers to allocate"
-msgstr ""
+msgstr "输入序列号以进行分配"
#: order/serializers.py:1294 order/serializers.py:1418
msgid "Shipment has already been shipped"
-msgstr ""
+msgstr "物流已发出"
#: order/serializers.py:1297 order/serializers.py:1421
msgid "Shipment is not associated with this order"
-msgstr ""
+msgstr "货运不与此订单关联"
#: order/serializers.py:1351
msgid "No match found for the following serial numbers"
-msgstr ""
+msgstr "没有找到匹配下列序列号"
#: order/serializers.py:1361
msgid "The following serial numbers are already allocated"
-msgstr ""
+msgstr "以下序列号已经分配"
#: order/serializers.py:1591
msgid "Return order line item"
-msgstr ""
+msgstr "退货订单行项目"
#: order/serializers.py:1597
msgid "Line item does not match return order"
-msgstr ""
+msgstr "行条目与退货定单不匹配"
#: order/serializers.py:1600
msgid "Line item has already been received"
-msgstr ""
+msgstr "已经收到的行项目"
#: order/serializers.py:1631
msgid "Items can only be received against orders which are in progress"
-msgstr ""
+msgstr "项目只能根据正在执行的订单接收。"
#: order/serializers.py:1710
msgid "Line price currency"
-msgstr ""
+msgstr "行价格货币"
#: order/tasks.py:26
msgid "Overdue Purchase Order"
-msgstr ""
+msgstr "逾期采购合同"
#: order/tasks.py:31
#, python-brace-format
msgid "Purchase order {po} is now overdue"
-msgstr ""
+msgstr "采购订单 {po} 已逾期"
#: order/tasks.py:87
msgid "Overdue Sales Order"
-msgstr ""
+msgstr "逾期的销售订单"
#: order/tasks.py:92
#, python-brace-format
msgid "Sales order {so} is now overdue"
-msgstr ""
+msgstr "销售订单 {so} 现在已过期"
#: order/templates/order/order_base.html:51
msgid "Print purchase order report"
-msgstr ""
+msgstr "打印采购单"
#: order/templates/order/order_base.html:53
#: order/templates/order/return_order_base.html:62
#: order/templates/order/sales_order_base.html:62
msgid "Export order to file"
-msgstr ""
+msgstr "输出订单到文件"
#: order/templates/order/order_base.html:59
#: order/templates/order/return_order_base.html:72
#: order/templates/order/sales_order_base.html:71
msgid "Order actions"
-msgstr ""
+msgstr "订购操作"
#: order/templates/order/order_base.html:64
#: order/templates/order/return_order_base.html:76
#: order/templates/order/sales_order_base.html:75
msgid "Edit order"
-msgstr ""
+msgstr "编辑订单"
#: order/templates/order/order_base.html:68
#: order/templates/order/return_order_base.html:78
#: order/templates/order/sales_order_base.html:77
msgid "Cancel order"
-msgstr ""
+msgstr "取消订单"
#: order/templates/order/order_base.html:73
msgid "Duplicate order"
-msgstr ""
+msgstr "复制订单"
#: order/templates/order/order_base.html:79
#: order/templates/order/order_base.html:80
@@ -5118,93 +5136,93 @@ msgstr ""
#: order/templates/order/sales_order_base.html:83
#: order/templates/order/sales_order_base.html:84
msgid "Issue Order"
-msgstr ""
+msgstr "问题订单"
#: order/templates/order/order_base.html:83
#: order/templates/order/return_order_base.html:86
msgid "Mark order as complete"
-msgstr ""
+msgstr "标记订单为已完成"
#: order/templates/order/order_base.html:84
#: order/templates/order/return_order_base.html:87
#: order/templates/order/sales_order_base.html:93
msgid "Complete Order"
-msgstr ""
+msgstr "完成订单"
#: order/templates/order/order_base.html:91
msgid "Supplier part thumbnail"
-msgstr ""
+msgstr "供应商部件缩略图"
#: order/templates/order/order_base.html:106
#: order/templates/order/return_order_base.html:101
#: order/templates/order/sales_order_base.html:106
msgid "Order Reference"
-msgstr ""
+msgstr "订单参考"
#: order/templates/order/order_base.html:111
#: order/templates/order/return_order_base.html:106
#: order/templates/order/sales_order_base.html:111
msgid "Order Description"
-msgstr ""
+msgstr "订单描述"
#: order/templates/order/order_base.html:118
#: order/templates/order/return_order_base.html:113
#: order/templates/order/sales_order_base.html:118
msgid "Order Status"
-msgstr ""
+msgstr "订单状态"
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
-msgstr ""
+msgstr "供应商信息无效"
#: order/templates/order/order_base.html:154
#: order/templates/order/sales_order_base.html:157
msgid "Completed Line Items"
-msgstr ""
+msgstr "已完成单项"
#: order/templates/order/order_base.html:160
#: order/templates/order/sales_order_base.html:163
#: order/templates/order/sales_order_base.html:173
msgid "Incomplete"
-msgstr ""
+msgstr "未完成"
#: order/templates/order/order_base.html:179
#: order/templates/order/return_order_base.html:157
#: report/templates/report/inventree_build_order_base.html:121
msgid "Issued"
-msgstr ""
+msgstr "下达的"
#: order/templates/order/order_base.html:224
msgid "Total cost"
-msgstr ""
+msgstr "总成本"
#: order/templates/order/order_base.html:228
#: order/templates/order/return_order_base.html:199
#: order/templates/order/sales_order_base.html:239
msgid "Total cost could not be calculated"
-msgstr ""
+msgstr "无法计算总成本"
#: order/templates/order/order_base.html:318
msgid "Purchase Order QR Code"
-msgstr ""
+msgstr "购买订单二维码"
#: order/templates/order/order_base.html:330
msgid "Link Barcode to Purchase Order"
-msgstr ""
+msgstr "链接条码到购买订单"
#: order/templates/order/order_wizard/match_fields.html:9
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: part/templates/part/import_wizard/match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
-msgstr ""
+msgstr "没有选择"
#: order/templates/order/order_wizard/match_fields.html:20
#: part/templates/part/import_wizard/ajax_match_fields.html:20
#: part/templates/part/import_wizard/match_fields.html:20
#: templates/patterns/wizard/match_fields.html:19
msgid "Duplicate selections found, see below. Fix them then retry submitting."
-msgstr ""
+msgstr "发现重复选项"
#: order/templates/order/order_wizard/match_fields.html:29
#: order/templates/order/order_wizard/match_parts.html:21
@@ -5212,28 +5230,28 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:21
#: templates/patterns/wizard/match_fields.html:28
msgid "Submit Selections"
-msgstr ""
+msgstr "提交选项"
#: order/templates/order/order_wizard/match_fields.html:35
#: part/templates/part/import_wizard/ajax_match_fields.html:28
#: part/templates/part/import_wizard/match_fields.html:35
#: templates/patterns/wizard/match_fields.html:34
msgid "File Fields"
-msgstr ""
+msgstr "文件字段"
#: order/templates/order/order_wizard/match_fields.html:42
#: part/templates/part/import_wizard/ajax_match_fields.html:35
#: part/templates/part/import_wizard/match_fields.html:42
#: templates/patterns/wizard/match_fields.html:41
msgid "Remove column"
-msgstr ""
+msgstr "移除列"
#: order/templates/order/order_wizard/match_fields.html:60
#: part/templates/part/import_wizard/ajax_match_fields.html:53
#: part/templates/part/import_wizard/match_fields.html:60
#: templates/patterns/wizard/match_fields.html:59
msgid "Duplicate selection"
-msgstr ""
+msgstr "重复选项"
#: order/templates/order/order_wizard/match_fields.html:71
#: order/templates/order/order_wizard/match_parts.html:52
@@ -5250,35 +5268,35 @@ msgstr ""
#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
-msgstr ""
+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
msgid "Errors exist in the submitted data"
-msgstr ""
+msgstr "提交数据中存在错误"
#: order/templates/order/order_wizard/match_parts.html:28
#: part/templates/part/import_wizard/ajax_match_references.html:21
#: part/templates/part/import_wizard/match_references.html:28
msgid "Row"
-msgstr ""
+msgstr "行"
#: order/templates/order/order_wizard/match_parts.html:29
msgid "Select Supplier Part"
-msgstr ""
+msgstr "选择供应商商品"
#: order/templates/order/order_wizard/po_upload.html:8
msgid "Return to Orders"
-msgstr ""
+msgstr "退货订单"
#: order/templates/order/order_wizard/po_upload.html:13
msgid "Upload File for Purchase Order"
-msgstr ""
+msgstr "上传采购订单文件"
#: order/templates/order/order_wizard/po_upload.html:14
msgid "Order is already processed. Files cannot be uploaded."
-msgstr ""
+msgstr "订单已经处理。无法上传文件。"
#: order/templates/order/order_wizard/po_upload.html:27
#: part/templates/part/import_wizard/ajax_part_upload.html:10
@@ -5286,7 +5304,7 @@ msgstr ""
#: templates/patterns/wizard/upload.html:13
#, python-format
msgid "Step %(step)s of %(count)s"
-msgstr ""
+msgstr "步骤 %(step)s / %(count)s"
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/return_order_detail.html:18
@@ -5295,15 +5313,15 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:19
#: report/templates/report/inventree_so_report_base.html:22
msgid "Line Items"
-msgstr ""
+msgstr "单项"
#: order/templates/order/po_sidebar.html:7
msgid "Received Stock"
-msgstr ""
+msgstr "已入库"
#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
-msgstr ""
+msgstr "采购单"
#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
@@ -5312,57 +5330,57 @@ msgstr ""
#: templates/js/translated/return_order.js:459
#: templates/js/translated/sales_order.js:237
msgid "Add Line Item"
-msgstr ""
+msgstr "新加单项"
#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
-msgstr ""
+msgstr "收到单项"
#: order/templates/order/purchase_order_detail.html:50
#: order/templates/order/return_order_detail.html:45
#: order/templates/order/sales_order_detail.html:41
msgid "Extra Lines"
-msgstr ""
+msgstr "附加项"
#: order/templates/order/purchase_order_detail.html:56
#: order/templates/order/return_order_detail.html:51
#: order/templates/order/sales_order_detail.html:47
msgid "Add Extra Line"
-msgstr ""
+msgstr "添加附加项"
#: order/templates/order/purchase_order_detail.html:74
msgid "Received Items"
-msgstr ""
+msgstr "已收到的项"
#: order/templates/order/purchase_order_detail.html:99
#: order/templates/order/return_order_detail.html:85
#: order/templates/order/sales_order_detail.html:139
msgid "Order Notes"
-msgstr ""
+msgstr "订单备注"
#: order/templates/order/return_order_base.html:18
#: order/templates/order/sales_order_base.html:18
msgid "Customer logo thumbnail"
-msgstr ""
+msgstr "客户logo"
#: order/templates/order/return_order_base.html:60
msgid "Print return order report"
-msgstr ""
+msgstr "打印返回订单报告"
#: order/templates/order/return_order_base.html:64
#: order/templates/order/sales_order_base.html:64
msgid "Print packing list"
-msgstr ""
+msgstr "打印包装列表"
#: order/templates/order/return_order_base.html:138
#: order/templates/order/sales_order_base.html:151
#: templates/js/translated/return_order.js:309
#: templates/js/translated/sales_order.js:797
msgid "Customer Reference"
-msgstr ""
+msgstr "客户参考"
#: order/templates/order/return_order_base.html:195
#: order/templates/order/sales_order_base.html:235
@@ -5375,190 +5393,190 @@ msgstr ""
#: templates/js/translated/return_order.js:381
#: templates/js/translated/sales_order.js:855
msgid "Total Cost"
-msgstr ""
+msgstr "总成本"
#: order/templates/order/return_order_base.html:263
msgid "Return Order QR Code"
-msgstr ""
+msgstr "退货单二维码"
#: order/templates/order/return_order_base.html:275
msgid "Link Barcode to Return Order"
-msgstr ""
+msgstr "将条码链接到退货订单"
#: order/templates/order/return_order_sidebar.html:5
msgid "Order Details"
-msgstr ""
+msgstr "订单细节"
#: order/templates/order/sales_order_base.html:60
msgid "Print sales order report"
-msgstr ""
+msgstr "打印采购合同报告"
#: order/templates/order/sales_order_base.html:88
#: order/templates/order/sales_order_base.html:89
msgid "Ship Items"
-msgstr ""
+msgstr "货运项目"
#: order/templates/order/sales_order_base.html:92
#: templates/js/translated/sales_order.js:484
msgid "Complete Sales Order"
-msgstr ""
+msgstr "完成采购单"
#: order/templates/order/sales_order_base.html:131
msgid "This Sales Order has not been fully allocated"
-msgstr ""
+msgstr "采购单没有完全分配"
#: order/templates/order/sales_order_base.html:169
#: order/templates/order/sales_order_detail.html:99
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
-msgstr ""
+msgstr "完成发货"
#: order/templates/order/sales_order_base.html:312
msgid "Sales Order QR Code"
-msgstr ""
+msgstr "销售订单二维码"
#: order/templates/order/sales_order_base.html:324
msgid "Link Barcode to Sales Order"
-msgstr ""
+msgstr "将条码链接到销售订单"
#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
-msgstr ""
+msgstr "销售订单"
#: order/templates/order/sales_order_detail.html:67
#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284
msgid "Pending Shipments"
-msgstr ""
+msgstr "未发货"
#: order/templates/order/sales_order_detail.html:71
#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296
msgid "Actions"
-msgstr ""
+msgstr "操作"
#: order/templates/order/sales_order_detail.html:80
msgid "New Shipment"
-msgstr ""
+msgstr "新建发货单"
#: order/views.py:120
msgid "Match Supplier Parts"
-msgstr ""
+msgstr "匹配供应商零件"
#: order/views.py:389
msgid "Sales order not found"
-msgstr ""
+msgstr "未发现销售订单"
#: order/views.py:395
msgid "Price not found"
-msgstr ""
+msgstr "未发现价格"
#: order/views.py:398
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
-msgstr ""
+msgstr "更新{part} 单价到{price}"
#: order/views.py:403
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
-msgstr ""
+msgstr "更新{part} 单价到 {price} 且更新数量到{qty}"
#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217
#: stock/admin.py:119
msgid "Part ID"
-msgstr ""
+msgstr "商品ID"
#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218
#: stock/admin.py:120
msgid "Part Name"
-msgstr ""
+msgstr "零件名称"
#: part/admin.py:35 part/stocktake.py:219
msgid "Part Description"
-msgstr ""
+msgstr "零件描述"
#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269
#: report/templates/report/inventree_slr_report.html:103
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339
#: templates/js/translated/stock.js:2006
msgid "IPN"
-msgstr ""
+msgstr "内部零件号IPN"
#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277
#: report/models.py:189 templates/js/translated/part.js:1231
#: templates/js/translated/part.js:2345
msgid "Revision"
-msgstr ""
+msgstr "改版"
#: part/admin.py:38 part/admin.py:195 part/models.py:842
#: part/templates/part/category.html:94 part/templates/part/part_base.html:298
msgid "Keywords"
-msgstr ""
+msgstr "关键词"
#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220
msgid "Category ID"
-msgstr ""
+msgstr "类别 ID"
#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221
msgid "Category Name"
-msgstr ""
+msgstr "类比名称"
#: part/admin.py:44 part/admin.py:194
msgid "Default Location ID"
-msgstr ""
+msgstr "默认仓储ID"
#: part/admin.py:45
msgid "Default Supplier ID"
-msgstr ""
+msgstr "默认供应商ID"
#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177
msgid "Variant Of"
-msgstr ""
+msgstr "继承自..."
#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203
msgid "Minimum Stock"
-msgstr ""
+msgstr "最低库存"
#: part/admin.py:61 part/templates/part/part_base.html:197
#: templates/js/translated/company.js:1679
#: templates/js/translated/table_filters.js:355
msgid "In Stock"
-msgstr ""
+msgstr "入库"
#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:210
#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2603
#: templates/js/translated/part.js:709 templates/js/translated/part.js:2146
#: templates/js/translated/table_filters.js:170
msgid "On Order"
-msgstr ""
+msgstr "已订购"
#: part/admin.py:63 part/templates/part/part_sidebar.html:27
msgid "Used In"
-msgstr ""
+msgstr "用途"
#: part/admin.py:65 part/templates/part/part_base.html:241 stock/admin.py:142
#: templates/js/translated/part.js:714 templates/js/translated/part.js:2150
msgid "Building"
-msgstr ""
+msgstr "仓库"
#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969
msgid "Minimum Cost"
-msgstr ""
+msgstr "最低成本"
#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979
msgid "Maximum Cost"
-msgstr ""
+msgstr "最高成本"
#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134
msgid "Parent ID"
-msgstr ""
+msgstr "父类编号"
#: part/admin.py:193 part/admin.py:268 stock/admin.py:44
msgid "Parent Name"
-msgstr ""
+msgstr "父级名称:"
#: part/admin.py:196 part/templates/part/category.html:88
#: part/templates/part/category.html:101
msgid "Category Path"
-msgstr ""
+msgstr "类别路径"
#: part/admin.py:199 part/models.py:366 part/serializers.py:340
#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23
@@ -5567,186 +5585,186 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2802 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:175
+#: templates/navbar.html:24 users/models.py:192
msgid "Parts"
-msgstr "零件"
+msgstr "商品"
#: part/admin.py:261
msgid "BOM Level"
-msgstr ""
+msgstr "BOM 级别"
#: part/admin.py:263
msgid "BOM Item ID"
-msgstr ""
+msgstr "物料清单项目lD"
#: part/admin.py:267
msgid "Parent IPN"
-msgstr ""
+msgstr "父级内部部件号"
#: part/admin.py:270 part/models.py:3679
msgid "Part IPN"
-msgstr ""
+msgstr "内部部件号"
#: part/admin.py:276 templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
-msgstr ""
+msgstr "最低价格"
#: part/admin.py:277 templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
-msgstr ""
+msgstr "最高价格"
#: part/api.py:505
msgid "Incoming Purchase Order"
-msgstr ""
+msgstr "传入的采购订单"
#: part/api.py:525
msgid "Outgoing Sales Order"
-msgstr ""
+msgstr "未完成的销售订单"
#: part/api.py:543
msgid "Stock produced by Build Order"
-msgstr ""
+msgstr "由构建订单生成的库存"
#: part/api.py:629
msgid "Stock required for Build Order"
-msgstr ""
+msgstr "构建订单所需库存"
#: part/api.py:774
msgid "Valid"
-msgstr ""
+msgstr "有效"
#: part/api.py:775
msgid "Validate entire Bill of Materials"
-msgstr ""
+msgstr "验证整个材料单"
#: part/api.py:781
msgid "This option must be selected"
-msgstr ""
+msgstr "必须选择此项"
#: part/bom.py:174 part/models.py:97 part/models.py:890
#: part/templates/part/category.html:116 part/templates/part/part_base.html:367
msgid "Default Location"
-msgstr ""
+msgstr "默认仓储地点"
#: part/bom.py:175 templates/email/low_stock_notification.html:16
msgid "Total Stock"
-msgstr ""
+msgstr "总库存"
#: part/bom.py:176 part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
-msgstr ""
+msgstr "可用库存"
#: part/forms.py:48
msgid "Input quantity for price calculation"
-msgstr ""
+msgstr "输入用于价格计算的数量"
#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
-msgstr ""
+msgstr "商品类别"
#: part/models.py:80 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:174
+#: users/models.py:191
msgid "Part Categories"
-msgstr ""
+msgstr "商品类别"
#: part/models.py:98
msgid "Default location for parts in this category"
-msgstr ""
+msgstr "此类别商品的默认仓储地点"
#: part/models.py:103 stock/models.py:154 templates/js/translated/stock.js:2743
#: templates/js/translated/table_filters.js:239
#: templates/js/translated/table_filters.js:283
msgid "Structural"
-msgstr ""
+msgstr "结构类别"
#: part/models.py:105
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
-msgstr ""
+msgstr "零件可能无法直接分配到结构类别,但可以分配到子类别。注: 如果电脑是结构类别,那么硬盘,内存,CPU就是子类别."
#: part/models.py:109
msgid "Default keywords"
-msgstr ""
+msgstr "默认关键字"
#: part/models.py:109
msgid "Default keywords for parts in this category"
-msgstr ""
+msgstr "此类别商品的默认关键字"
#: part/models.py:114 stock/models.py:85 stock/models.py:142
#: templates/InvenTree/settings/settings_staff_js.html:436
msgid "Icon"
-msgstr ""
+msgstr "图标"
#: part/models.py:115 stock/models.py:143
msgid "Icon (optional)"
-msgstr ""
+msgstr "图标(可选)"
#: part/models.py:134
msgid "You cannot make this part category structural because some parts are already assigned to it!"
-msgstr ""
+msgstr "你不能使这个部分类别结构化,因为有些部分已经分配给它!"
#: part/models.py:451
msgid "Invalid choice for parent part"
-msgstr ""
+msgstr "无效的父部件选择"
#: part/models.py:494 part/models.py:497
#, python-brace-format
msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
-msgstr ""
+msgstr "部件'{self}' 不能用在 '{parent}' 的物料清单(接收)"
#: part/models.py:506
#, python-brace-format
msgid "Part '{parent}' is used in BOM for '{self}' (recursive)"
-msgstr ""
+msgstr "部件'{parent}' 不能用在 '{self}' 的物料清单(递归)"
#: part/models.py:573
#, python-brace-format
msgid "IPN must match regex pattern {pattern}"
-msgstr ""
+msgstr "{pattern} 内部部件编码正则匹配"
#: part/models.py:643
msgid "Stock item with this serial number already exists"
-msgstr ""
+msgstr "该序列号库存项己存在"
#: part/models.py:770
msgid "Duplicate IPN not allowed in part settings"
-msgstr ""
+msgstr "在商品设置中不允许重复的IPN"
#: part/models.py:775
msgid "Part with this Name, IPN and Revision already exists."
-msgstr ""
+msgstr "与这个名称、内部部件号和修订版的部分已存在。"
#: part/models.py:789
msgid "Parts cannot be assigned to structural part categories!"
-msgstr ""
+msgstr "部件不能分配到结构部件类别!"
#: part/models.py:813 part/models.py:3676
msgid "Part name"
-msgstr ""
+msgstr "商品名称"
#: part/models.py:819
msgid "Is Template"
-msgstr ""
+msgstr "零件模板"
#: part/models.py:820
msgid "Is this part a template part?"
-msgstr ""
+msgstr "这个零件可以作为模板用于生成其他零件吗?"
#: part/models.py:830
msgid "Is this part a variant of another part?"
-msgstr ""
+msgstr "这个零件可以继承自另一个已知零件吗?"
#: part/models.py:837
msgid "Part description (optional)"
-msgstr ""
+msgstr "部件描述(可选)"
#: part/models.py:843
msgid "Part keywords to improve visibility in search results"
-msgstr ""
+msgstr "提高搜索结果可见性的关键字"
#: part/models.py:850 part/models.py:3199 part/models.py:3619
#: part/serializers.py:353 part/serializers.py:967
@@ -5755,249 +5773,249 @@ msgstr ""
#: templates/js/translated/notification.js:60
#: templates/js/translated/part.js:2375
msgid "Category"
-msgstr ""
+msgstr "类别"
#: part/models.py:851
msgid "Part category"
-msgstr ""
+msgstr "商品类别"
#: part/models.py:857
msgid "Internal Part Number"
-msgstr ""
+msgstr "内部商品编号"
#: part/models.py:862
msgid "Part revision or version number"
-msgstr ""
+msgstr "商品版本号"
#: part/models.py:888
msgid "Where is this item normally stored?"
-msgstr ""
+msgstr "此零件通常的仓储位置?"
#: part/models.py:933 part/templates/part/part_base.html:376
msgid "Default Supplier"
-msgstr ""
+msgstr "默认供应商"
#: part/models.py:934
msgid "Default supplier part"
-msgstr ""
+msgstr "默认供应商商品"
#: part/models.py:941
msgid "Default Expiry"
-msgstr ""
+msgstr "默认到期"
#: part/models.py:942
msgid "Expiry time (in days) for stock items of this part"
-msgstr ""
+msgstr "此部分库存物品的过期时间(天)"
#: part/models.py:949
msgid "Minimum allowed stock level"
-msgstr ""
+msgstr "最低库存数量"
#: part/models.py:956
msgid "Units of measure for this part"
-msgstr ""
+msgstr "零件的计数单位"
#: part/models.py:965
msgid "Can this part be built from other parts?"
-msgstr ""
+msgstr "这个零件可由其他零件加工而成吗?"
#: part/models.py:971
msgid "Can this part be used to build other parts?"
-msgstr ""
+msgstr "这个零件可用于创建其他零件吗?"
#: part/models.py:977
msgid "Does this part have tracking for unique items?"
-msgstr ""
+msgstr "这个零件可作为唯一关键字用来搜索吗?"
#: part/models.py:982
msgid "Can this part be purchased from external suppliers?"
-msgstr ""
+msgstr "这个零件可从外部供应商购买吗?"
#: part/models.py:987
msgid "Can this part be sold to customers?"
-msgstr ""
+msgstr "此商品可以销售给客户吗?"
#: part/models.py:992
msgid "Is this part active?"
-msgstr ""
+msgstr "这个部件是否激活?"
#: part/models.py:997
msgid "Is this a virtual part, such as a software product or license?"
-msgstr ""
+msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
#: part/models.py:999
msgid "BOM checksum"
-msgstr ""
+msgstr "物料清单查实数"
#: part/models.py:999
msgid "Stored BOM checksum"
-msgstr ""
+msgstr "保存的物料清单校验和"
#: part/models.py:1002
msgid "BOM checked by"
-msgstr ""
+msgstr "物料清单鉴入"
#: part/models.py:1004
msgid "BOM checked date"
-msgstr ""
+msgstr "物料清单日期"
#: part/models.py:1008
msgid "Creation User"
-msgstr ""
+msgstr "新建用户"
#: part/models.py:1014
msgid "Owner responsible for this part"
-msgstr ""
+msgstr "此零件的负责人"
#: part/models.py:1020 part/templates/part/part_base.html:339
#: stock/templates/stock/item_base.html:451
#: templates/js/translated/part.js:2469
msgid "Last Stocktake"
-msgstr ""
+msgstr "最近库存盘点"
#: part/models.py:1891
msgid "Sell multiple"
-msgstr ""
+msgstr "销售多个商品"
#: part/models.py:2857
msgid "Currency used to cache pricing calculations"
-msgstr ""
+msgstr "用于缓存定价计算的货币"
#: part/models.py:2874
msgid "Minimum BOM Cost"
-msgstr ""
+msgstr "最低BOM 成本"
#: part/models.py:2875
msgid "Minimum cost of component parts"
-msgstr ""
+msgstr "组件的最低成本"
#: part/models.py:2880
msgid "Maximum BOM Cost"
-msgstr ""
+msgstr "BOM 最高成本"
#: part/models.py:2881
msgid "Maximum cost of component parts"
-msgstr ""
+msgstr "组件最高成本"
#: part/models.py:2886
msgid "Minimum Purchase Cost"
-msgstr ""
+msgstr "最低购买成本"
#: part/models.py:2887
msgid "Minimum historical purchase cost"
-msgstr ""
+msgstr "最高历史购买成本"
#: part/models.py:2892
msgid "Maximum Purchase Cost"
-msgstr ""
+msgstr "最大购买成本"
#: part/models.py:2893
msgid "Maximum historical purchase cost"
-msgstr ""
+msgstr "最高历史购买成本"
#: part/models.py:2898
msgid "Minimum Internal Price"
-msgstr ""
+msgstr "最低内部价格"
#: part/models.py:2899
msgid "Minimum cost based on internal price breaks"
-msgstr ""
+msgstr "基于内部价格折算的最低成本"
#: part/models.py:2904
msgid "Maximum Internal Price"
-msgstr ""
+msgstr "最大内部价格"
#: part/models.py:2905
msgid "Maximum cost based on internal price breaks"
-msgstr ""
+msgstr "基于内部价格折算的最高成本"
#: part/models.py:2910
msgid "Minimum Supplier Price"
-msgstr ""
+msgstr "供应商最低价格"
#: part/models.py:2911
msgid "Minimum price of part from external suppliers"
-msgstr ""
+msgstr "外部供应商部件的最低价格"
#: part/models.py:2916
msgid "Maximum Supplier Price"
-msgstr ""
+msgstr "供应商最高价格"
#: part/models.py:2917
msgid "Maximum price of part from external suppliers"
-msgstr ""
+msgstr "外部供应商部分的最高价格"
#: part/models.py:2922
msgid "Minimum Variant Cost"
-msgstr ""
+msgstr "最小变体成本"
#: part/models.py:2923
msgid "Calculated minimum cost of variant parts"
-msgstr ""
+msgstr "计算变量部件的最低成本"
#: part/models.py:2928
msgid "Maximum Variant Cost"
-msgstr ""
+msgstr "计算变件部件的最低成本"
#: part/models.py:2929
msgid "Calculated maximum cost of variant parts"
-msgstr ""
+msgstr "计算变量部件的最大成本"
#: part/models.py:2935
msgid "Calculated overall minimum cost"
-msgstr ""
+msgstr "计算总最低成本"
#: part/models.py:2941
msgid "Calculated overall maximum cost"
-msgstr ""
+msgstr "计算总最大成本"
#: part/models.py:2946
msgid "Minimum Sale Price"
-msgstr ""
+msgstr "最低销售价格"
#: part/models.py:2947
msgid "Minimum sale price based on price breaks"
-msgstr ""
+msgstr "基于价格折算的最低销售价格"
#: part/models.py:2952
msgid "Maximum Sale Price"
-msgstr ""
+msgstr "最高销售价格"
#: part/models.py:2953
msgid "Maximum sale price based on price breaks"
-msgstr ""
+msgstr "基于价格折算的最大销售价格"
#: part/models.py:2958
msgid "Minimum Sale Cost"
-msgstr ""
+msgstr "最低销售成本"
#: part/models.py:2959
msgid "Minimum historical sale price"
-msgstr ""
+msgstr "历史最低销售价格"
#: part/models.py:2964
msgid "Maximum Sale Cost"
-msgstr ""
+msgstr "最高销售成本"
#: part/models.py:2965
msgid "Maximum historical sale price"
-msgstr ""
+msgstr "历史最高销售价格"
#: part/models.py:2984
msgid "Part for stocktake"
-msgstr ""
+msgstr "零件盘点"
#: part/models.py:2989
msgid "Item Count"
-msgstr ""
+msgstr "项目计数"
#: part/models.py:2990
msgid "Number of individual stock entries at time of stocktake"
-msgstr ""
+msgstr "盘点时个别部件存货条目数"
#: part/models.py:2997
msgid "Total available stock at time of stocktake"
-msgstr ""
+msgstr "盘点时可用库存总额"
#: part/models.py:3001 part/models.py:3081
#: part/templates/part/part_scheduling.html:13
@@ -6009,258 +6027,258 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1725
#: templates/js/translated/stock.js:2792
msgid "Date"
-msgstr ""
+msgstr "日期"
#: part/models.py:3002
msgid "Date stocktake was performed"
-msgstr ""
+msgstr "已进行当日盘点"
#: part/models.py:3010
msgid "Additional notes"
-msgstr ""
+msgstr "附加注释"
#: part/models.py:3018
msgid "User who performed this stocktake"
-msgstr ""
+msgstr "进行此盘点的用户"
#: part/models.py:3023
msgid "Minimum Stock Cost"
-msgstr ""
+msgstr "最低库存成本"
#: part/models.py:3024
msgid "Estimated minimum cost of stock on hand"
-msgstr ""
+msgstr "手头存货最低成本估算"
#: part/models.py:3029
msgid "Maximum Stock Cost"
-msgstr ""
+msgstr "最高库存成本"
#: part/models.py:3030
msgid "Estimated maximum cost of stock on hand"
-msgstr ""
+msgstr "手头存货最高成本估算"
#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509
msgid "Report"
-msgstr ""
+msgstr "报告"
#: part/models.py:3089
msgid "Stocktake report file (generated internally)"
-msgstr ""
+msgstr "库存评估报告文件(内部生成)"
#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516
msgid "Part Count"
-msgstr ""
+msgstr "部件计数"
#: part/models.py:3095
msgid "Number of parts covered by stocktake"
-msgstr ""
+msgstr "盘点涵盖的部件数量"
#: part/models.py:3103
msgid "User who requested this stocktake report"
-msgstr ""
+msgstr "请求此评估报告的用户"
#: part/models.py:3239
msgid "Test templates can only be created for trackable parts"
-msgstr ""
+msgstr "只能为可跟踪的部件创建测试模板"
#: part/models.py:3256
msgid "Test with this name already exists for this part"
-msgstr ""
+msgstr "用该部件已有名称测试"
#: part/models.py:3276 templates/js/translated/part.js:2866
msgid "Test Name"
-msgstr ""
+msgstr "测试名"
#: part/models.py:3277
msgid "Enter a name for the test"
-msgstr ""
+msgstr "输入测试的名称"
#: part/models.py:3282
msgid "Test Description"
-msgstr ""
+msgstr "测试说明"
#: part/models.py:3283
msgid "Enter description for this test"
-msgstr ""
+msgstr "输入测试的描述"
#: part/models.py:3288 templates/js/translated/part.js:2875
#: templates/js/translated/table_filters.js:477
msgid "Required"
-msgstr ""
+msgstr "必填项"
#: part/models.py:3289
msgid "Is this test required to pass?"
-msgstr ""
+msgstr "要求测试通过?"
#: part/models.py:3294 templates/js/translated/part.js:2883
msgid "Requires Value"
-msgstr ""
+msgstr "必填值"
#: part/models.py:3295
msgid "Does this test require a value when adding a test result?"
-msgstr ""
+msgstr "添加测试结果时是否需要一个值?"
#: part/models.py:3300 templates/js/translated/part.js:2890
msgid "Requires Attachment"
-msgstr ""
+msgstr "需附件"
#: part/models.py:3301
msgid "Does this test require a file attachment when adding a test result?"
-msgstr ""
+msgstr "添加测试结果时是否需要文件附件?"
#: part/models.py:3346
msgid "Checkbox parameters cannot have units"
-msgstr ""
+msgstr "复选框参数不能有单位"
#: part/models.py:3351
msgid "Checkbox parameters cannot have choices"
-msgstr ""
+msgstr "复选框参数不能有选项"
#: part/models.py:3369
msgid "Choices must be unique"
-msgstr ""
+msgstr "选择必须是唯一的"
#: part/models.py:3385
msgid "Parameter template name must be unique"
-msgstr ""
+msgstr "参数模板名称必须是唯一的"
#: part/models.py:3400
msgid "Parameter Name"
-msgstr ""
+msgstr "参数名称"
#: part/models.py:3406
msgid "Physical units for this parameter"
-msgstr ""
+msgstr "此参数的物理单位"
#: part/models.py:3416
msgid "Parameter description"
-msgstr ""
+msgstr "参数说明:"
#: part/models.py:3422 templates/js/translated/part.js:1627
#: templates/js/translated/table_filters.js:817
msgid "Checkbox"
-msgstr ""
+msgstr "勾选框"
#: part/models.py:3423
msgid "Is this parameter a checkbox?"
-msgstr ""
+msgstr "此参数是否为复选框?"
#: part/models.py:3428 templates/js/translated/part.js:1636
msgid "Choices"
-msgstr ""
+msgstr "选择"
#: part/models.py:3429
msgid "Valid choices for this parameter (comma-separated)"
-msgstr ""
+msgstr "此参数的有效选择 (逗号分隔)"
#: part/models.py:3503
msgid "Invalid choice for parameter value"
-msgstr ""
+msgstr "无效的参数值选择"
#: part/models.py:3545
msgid "Parent Part"
-msgstr ""
+msgstr "父部件"
#: part/models.py:3550 part/models.py:3625 part/models.py:3626
#: templates/InvenTree/settings/settings_staff_js.html:275
msgid "Parameter Template"
-msgstr ""
+msgstr "参数模板"
#: part/models.py:3555
msgid "Data"
-msgstr ""
+msgstr "数据"
#: part/models.py:3555
msgid "Parameter Value"
-msgstr ""
+msgstr "参数值"
#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284
msgid "Default Value"
-msgstr ""
+msgstr "默认值"
#: part/models.py:3631
msgid "Default Parameter Value"
-msgstr ""
+msgstr "默认参数值"
#: part/models.py:3668
msgid "Part ID or part name"
-msgstr ""
+msgstr "部件ID或部件名称"
#: part/models.py:3672
msgid "Unique part ID value"
-msgstr ""
+msgstr "唯一部件ID 值"
#: part/models.py:3680
msgid "Part IPN value"
-msgstr ""
+msgstr "配件IPN值"
#: part/models.py:3683
msgid "Level"
-msgstr ""
+msgstr "级"
#: part/models.py:3684
msgid "BOM level"
-msgstr ""
+msgstr "BOM 级别"
#: part/models.py:3690 part/models.py:4085
msgid "BOM Item"
-msgstr ""
+msgstr "BOM项"
#: part/models.py:3771
msgid "Select parent part"
-msgstr ""
+msgstr "选择父部件"
#: part/models.py:3779
msgid "Sub part"
-msgstr ""
+msgstr "子部件"
#: part/models.py:3780
msgid "Select part to be used in BOM"
-msgstr ""
+msgstr "选择要用于BOM 的部件"
#: part/models.py:3786
msgid "BOM quantity for this BOM item"
-msgstr ""
+msgstr "此BOM 项目的BOM 数量"
#: part/models.py:3791
msgid "This BOM item is optional"
-msgstr ""
+msgstr "此BOM 项是可选的"
#: part/models.py:3797
msgid "This BOM item is consumable (it is not tracked in build orders)"
-msgstr ""
+msgstr "这个BOM 项目是耗材 (它没有在构建订单中被追踪)"
#: part/models.py:3801 part/templates/part/upload_bom.html:55
msgid "Overage"
-msgstr ""
+msgstr "加班费"
#: part/models.py:3802
msgid "Estimated build wastage quantity (absolute or percentage)"
-msgstr ""
+msgstr "估计构建物浪费量(绝对值或百分比)"
#: part/models.py:3805
msgid "BOM item reference"
-msgstr ""
+msgstr "物料清单项目引用"
#: part/models.py:3808
msgid "BOM item notes"
-msgstr ""
+msgstr "BOM 项目注释"
#: part/models.py:3812
msgid "Checksum"
-msgstr ""
+msgstr "校验和"
#: part/models.py:3812
msgid "BOM line checksum"
-msgstr ""
+msgstr "物料清单较验和"
#: part/models.py:3817 templates/js/translated/table_filters.js:174
msgid "Validated"
-msgstr ""
+msgstr "已验证"
#: part/models.py:3818
msgid "This BOM item has been validated"
-msgstr ""
+msgstr "此BOM 项目已验证"
#: part/models.py:3823 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1054
@@ -6316,7 +6334,7 @@ msgstr ""
#: part/models.py:4113
msgid "Select Related Part"
-msgstr ""
+msgstr "选择相关的部件"
#: part/models.py:4130
msgid "Part relationship cannot be created between a part and itself"
@@ -6328,152 +6346,152 @@ msgstr ""
#: part/serializers.py:170 part/serializers.py:193 stock/serializers.py:324
msgid "Purchase currency of this stock item"
-msgstr ""
+msgstr "购买此库存物品的货币"
#: part/serializers.py:346
msgid "No parts selected"
-msgstr ""
+msgstr "没有选定部件"
#: part/serializers.py:354
msgid "Select category"
-msgstr ""
+msgstr "选择分类"
#: part/serializers.py:384
msgid "Original Part"
-msgstr ""
+msgstr "原始部件"
#: part/serializers.py:384
msgid "Select original part to duplicate"
-msgstr ""
+msgstr "选择要复制的原始部分"
#: part/serializers.py:389
msgid "Copy Image"
-msgstr ""
+msgstr "复制图像"
#: part/serializers.py:389
msgid "Copy image from original part"
-msgstr ""
+msgstr "从原部件复制图像"
#: part/serializers.py:394 part/templates/part/detail.html:277
msgid "Copy BOM"
-msgstr ""
+msgstr "复制BOM"
#: part/serializers.py:394
msgid "Copy bill of materials from original part"
-msgstr ""
+msgstr "从原始部分复制材料清单"
#: part/serializers.py:399
msgid "Copy Parameters"
-msgstr ""
+msgstr "复制参数"
#: part/serializers.py:399
msgid "Copy parameter data from original part"
-msgstr ""
+msgstr "从原始部分复制参数数据"
#: part/serializers.py:404
msgid "Copy Notes"
-msgstr ""
+msgstr "复制备注"
#: part/serializers.py:404
msgid "Copy notes from original part"
-msgstr ""
+msgstr "从原始部分复制备注"
#: part/serializers.py:414
msgid "Initial Stock Quantity"
-msgstr ""
+msgstr "初始化库存数量"
#: part/serializers.py:414
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
-msgstr ""
+msgstr "指定此部件的初始库存数量。如果数量为零,则不添加任何库存。"
#: part/serializers.py:420
msgid "Initial Stock Location"
-msgstr ""
+msgstr "初始化库存位置"
#: part/serializers.py:420
msgid "Specify initial stock location for this Part"
-msgstr ""
+msgstr "初始化指定此部件的库存位置"
#: part/serializers.py:430
msgid "Select supplier (or leave blank to skip)"
-msgstr ""
+msgstr "选择供应商(或为空)"
#: part/serializers.py:441
msgid "Select manufacturer (or leave blank to skip)"
-msgstr ""
+msgstr "选择生成商(或为空)"
#: part/serializers.py:447
msgid "Manufacturer part number"
-msgstr ""
+msgstr "生产商零件号"
#: part/serializers.py:453
msgid "Selected company is not a valid supplier"
-msgstr ""
+msgstr "所选公司不是一个有效的供应商"
#: part/serializers.py:460
msgid "Selected company is not a valid manufacturer"
-msgstr ""
+msgstr "所选公司不是一个有效的制造商"
#: part/serializers.py:471
msgid "Manufacturer part matching this MPN already exists"
-msgstr ""
+msgstr "匹配此制造商部件号的制造商配件已存在"
#: part/serializers.py:479
msgid "Supplier part matching this SKU already exists"
-msgstr ""
+msgstr "匹配此SKU的供应商部件已存在"
#: part/serializers.py:738 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
-msgstr ""
+msgstr "复制部件"
#: part/serializers.py:738
msgid "Copy initial data from another Part"
-msgstr ""
+msgstr "从另一个部件复制初始数据"
#: part/serializers.py:743 templates/js/translated/part.js:102
msgid "Initial Stock"
-msgstr ""
+msgstr "初始库存"
#: part/serializers.py:743
msgid "Create Part with initial stock quantity"
-msgstr ""
+msgstr "创建具有初始库存数量的部件"
#: part/serializers.py:748
msgid "Supplier Information"
-msgstr ""
+msgstr "供应商信息"
#: part/serializers.py:748
msgid "Add initial supplier information for this part"
-msgstr ""
+msgstr "添加此部分的初始供应商信息"
#: part/serializers.py:754
msgid "Copy Category Parameters"
-msgstr ""
+msgstr "复制类别参数"
#: part/serializers.py:755
msgid "Copy parameter templates from selected part category"
-msgstr ""
+msgstr "从选择的零件复制参数模版"
#: part/serializers.py:961
msgid "Limit stocktake report to a particular part, and any variant parts"
-msgstr ""
+msgstr "限制盘点报告到某个特定部件以及任何变体部件"
#: part/serializers.py:967
msgid "Limit stocktake report to a particular part category, and any child categories"
-msgstr ""
+msgstr "限制盘点报告到某个特定部件分类以及任何子分类"
#: part/serializers.py:973
msgid "Limit stocktake report to a particular stock location, and any child locations"
-msgstr ""
+msgstr "限制盘点报告到某个特定部件库存位置以及任何子位置"
#: part/serializers.py:978
msgid "Exclude External Stock"
-msgstr ""
+msgstr "排除外部库存"
#: part/serializers.py:979
msgid "Exclude stock items in external locations"
-msgstr ""
+msgstr "排除外部位置的库存项目"
#: part/serializers.py:984
msgid "Generate Report"
@@ -6497,7 +6515,7 @@ msgstr ""
#: part/serializers.py:1087
msgid "Update"
-msgstr ""
+msgstr "更新"
#: part/serializers.py:1088
msgid "Update pricing for this part"
@@ -6509,7 +6527,7 @@ msgstr ""
#: part/serializers.py:1403
msgid "Remove Existing Data"
-msgstr ""
+msgstr "移除现有数据"
#: part/serializers.py:1404
msgid "Remove existing BOM items before copying"
@@ -6565,7 +6583,7 @@ msgstr ""
#: part/serializers.py:1552
msgid "Quantity not provided"
-msgstr ""
+msgstr "未提供数量"
#: part/serializers.py:1560
msgid "Invalid quantity"
@@ -6579,7 +6597,7 @@ msgstr ""
#: templates/js/translated/part.js:1820 templates/js/translated/part.js:1875
#: templates/js/translated/purchase_order.js:2078
msgid "Total Quantity"
-msgstr ""
+msgstr "总数量"
#: part/stocktake.py:224
msgid "Total Cost Min"
@@ -6599,7 +6617,7 @@ msgstr ""
#: part/tasks.py:33
msgid "Low stock notification"
-msgstr ""
+msgstr "低库存通知"
#: part/tasks.py:34
#, python-brace-format
@@ -6608,7 +6626,7 @@ msgstr ""
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
-msgstr ""
+msgstr "没有权限编辑BOM"
#: part/templates/part/bom.html:15
msgid "The BOM this part has been changed, and must be validated"
@@ -6626,7 +6644,7 @@ msgstr ""
#: part/templates/part/category.html:35
msgid "Perform stocktake for this part category"
-msgstr ""
+msgstr "对此类零件做库存盘点"
#: part/templates/part/category.html:41 part/templates/part/category.html:45
msgid "You are subscribed to notifications for this category"
@@ -6638,62 +6656,62 @@ msgstr ""
#: part/templates/part/category.html:55
msgid "Category Actions"
-msgstr ""
+msgstr "类别操作"
#: part/templates/part/category.html:60
msgid "Edit category"
-msgstr ""
+msgstr "编辑类别"
#: part/templates/part/category.html:61
msgid "Edit Category"
-msgstr ""
+msgstr "编辑类别"
#: part/templates/part/category.html:65
msgid "Delete category"
-msgstr ""
+msgstr "删除类别"
#: part/templates/part/category.html:66
msgid "Delete Category"
-msgstr ""
+msgstr "删除类别"
#: part/templates/part/category.html:102
msgid "Top level part category"
-msgstr ""
+msgstr "最高级零件类别"
#: part/templates/part/category.html:122 part/templates/part/category.html:207
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
-msgstr ""
+msgstr "子类别"
#: part/templates/part/category.html:127
msgid "Parts (Including subcategories)"
-msgstr ""
+msgstr "商品 (包括子类别)"
#: part/templates/part/category.html:165
msgid "Create new part"
-msgstr ""
+msgstr "新建商品"
#: part/templates/part/category.html:166 templates/js/translated/bom.js:444
msgid "New Part"
-msgstr ""
+msgstr "新商品"
#: part/templates/part/category.html:192
#: templates/InvenTree/settings/part_parameters.html:7
#: templates/InvenTree/settings/sidebar.html:49
msgid "Part Parameters"
-msgstr ""
+msgstr "商品参数"
#: part/templates/part/category.html:211
msgid "Create new part category"
-msgstr ""
+msgstr "新建商品类别"
#: part/templates/part/category.html:212
msgid "New Category"
-msgstr ""
+msgstr "新建类别"
#: part/templates/part/category_sidebar.html:13
msgid "Import Parts"
-msgstr ""
+msgstr "导入零件"
#: part/templates/part/copy_part.html:10
#, python-format
@@ -6717,150 +6735,150 @@ msgstr ""
#: part/templates/part/detail.html:20
msgid "Part Stock"
-msgstr ""
+msgstr "商品库存"
#: part/templates/part/detail.html:44
msgid "Refresh scheduling data"
-msgstr ""
+msgstr "刷新排产数据"
#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
#: templates/js/translated/tables.js:552
msgid "Refresh"
-msgstr ""
+msgstr "刷新"
#: part/templates/part/detail.html:66
msgid "Add stocktake information"
-msgstr ""
+msgstr "添加盘点信息"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2186 users/models.py:176
+#: templates/js/translated/stock.js:2186 users/models.py:193
msgid "Stocktake"
-msgstr ""
+msgstr "库存盘点"
#: part/templates/part/detail.html:83
msgid "Part Test Templates"
-msgstr ""
+msgstr "零件测试模板"
#: part/templates/part/detail.html:88
msgid "Add Test Template"
-msgstr ""
+msgstr "添加测试模板"
#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49
msgid "Sales Order Allocations"
-msgstr ""
+msgstr "分配销售合同"
#: part/templates/part/detail.html:156
msgid "Part Notes"
-msgstr ""
+msgstr "零件备注"
#: part/templates/part/detail.html:171
msgid "Part Variants"
-msgstr ""
+msgstr "零件变体"
#: part/templates/part/detail.html:175
msgid "Create new variant"
-msgstr ""
+msgstr "创建零件变体"
#: part/templates/part/detail.html:176
msgid "New Variant"
-msgstr ""
+msgstr "新建零件变体"
#: part/templates/part/detail.html:199
msgid "Add new parameter"
-msgstr ""
+msgstr "添加参数"
#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58
msgid "Related Parts"
-msgstr ""
+msgstr "关联零件"
#: part/templates/part/detail.html:236 part/templates/part/detail.html:237
msgid "Add Related"
-msgstr ""
+msgstr "添加关联"
#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
-msgstr ""
+msgstr "物料清单(BOM)"
#: part/templates/part/detail.html:260
msgid "Export actions"
-msgstr ""
+msgstr "输出操作"
#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340
msgid "Export BOM"
-msgstr ""
+msgstr "输出BOM"
#: part/templates/part/detail.html:266
msgid "Print BOM Report"
-msgstr ""
+msgstr "打印BOM"
#: part/templates/part/detail.html:272
msgid "BOM actions"
-msgstr ""
+msgstr "BOM操作"
#: part/templates/part/detail.html:276
msgid "Upload BOM"
-msgstr ""
+msgstr "上传BOM"
#: part/templates/part/detail.html:278
msgid "Validate BOM"
-msgstr ""
+msgstr "验证BOM"
#: part/templates/part/detail.html:283 part/templates/part/detail.html:284
#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315
msgid "Add BOM Item"
-msgstr ""
+msgstr "添加BOM项"
#: part/templates/part/detail.html:297
msgid "Assemblies"
-msgstr ""
+msgstr "装配件"
#: part/templates/part/detail.html:313
msgid "Part Builds"
-msgstr ""
+msgstr "零件组装"
#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36
msgid "Build Order Allocations"
-msgstr ""
+msgstr "分配生成订单"
#: part/templates/part/detail.html:352
msgid "Part Suppliers"
-msgstr ""
+msgstr "商品供应商"
#: part/templates/part/detail.html:372
msgid "Part Manufacturers"
-msgstr ""
+msgstr "商品制造商"
#: part/templates/part/detail.html:659
msgid "Related Part"
-msgstr ""
+msgstr "关联零件"
#: part/templates/part/detail.html:667
msgid "Add Related Part"
-msgstr ""
+msgstr "添加关联零件"
#: part/templates/part/detail.html:752
msgid "Add Test Result Template"
-msgstr ""
+msgstr "添加测试结果模板"
#: part/templates/part/import_wizard/ajax_part_upload.html:29
#: part/templates/part/import_wizard/part_upload.html:14
msgid "Insufficient privileges."
-msgstr ""
+msgstr "权限不足"
#: part/templates/part/import_wizard/part_upload.html:8
msgid "Return to Parts"
-msgstr ""
+msgstr "返回组件"
#: part/templates/part/import_wizard/part_upload.html:13
msgid "Import Parts from File"
-msgstr ""
+msgstr "从文件导入商品"
#: part/templates/part/import_wizard/part_upload.html:31
msgid "Requirements for part import"
-msgstr ""
+msgstr "零件导入要求"
#: part/templates/part/import_wizard/part_upload.html:33
msgid "The part import file must contain the required named columns as provided in the "
@@ -6868,27 +6886,27 @@ msgstr ""
#: part/templates/part/import_wizard/part_upload.html:33
msgid "Part Import Template"
-msgstr ""
+msgstr "零件导入模板"
#: part/templates/part/import_wizard/part_upload.html:89
msgid "Download Part Import Template"
-msgstr ""
+msgstr "下载零件导入模板"
#: part/templates/part/import_wizard/part_upload.html:92
#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343
#: templates/js/translated/order.js:129 templates/js/translated/tables.js:189
msgid "Format"
-msgstr ""
+msgstr "格式化"
#: part/templates/part/import_wizard/part_upload.html:93
#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344
#: templates/js/translated/order.js:130
msgid "Select file format"
-msgstr ""
+msgstr "选择文件格式"
#: part/templates/part/part_app_base.html:12
msgid "Part List"
-msgstr ""
+msgstr "商品列表"
#: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29
msgid "You are subscribed to notifications for this part"
@@ -6902,7 +6920,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:74
msgid "Print Label"
-msgstr ""
+msgstr "打印标签"
#: part/templates/part/part_base.html:58
msgid "Show pricing information"
@@ -6912,55 +6930,55 @@ msgstr ""
#: stock/templates/stock/item_base.html:110
#: stock/templates/stock/location.html:83
msgid "Stock actions"
-msgstr ""
+msgstr "库存操作"
#: part/templates/part/part_base.html:70
msgid "Count part stock"
-msgstr ""
+msgstr "清点商品库存"
#: part/templates/part/part_base.html:76
msgid "Transfer part stock"
-msgstr ""
+msgstr "转移零件库存"
#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2291
msgid "Part actions"
-msgstr ""
+msgstr "零件操作"
#: part/templates/part/part_base.html:94
msgid "Duplicate part"
-msgstr ""
+msgstr "重复的商品"
#: part/templates/part/part_base.html:97
msgid "Edit part"
-msgstr ""
+msgstr "编辑商品"
#: part/templates/part/part_base.html:100
msgid "Delete part"
-msgstr ""
+msgstr "删除商品"
#: part/templates/part/part_base.html:119
msgid "Part is a template part (variants can be made from this part)"
-msgstr ""
+msgstr "这是一个零件模板(零件变体可以从中生成)"
#: part/templates/part/part_base.html:123
msgid "Part can be assembled from other parts"
-msgstr ""
+msgstr "商品可以由其他部件组装"
#: part/templates/part/part_base.html:127
msgid "Part can be used in assemblies"
-msgstr ""
+msgstr "商品可以用于组装成品"
#: part/templates/part/part_base.html:131
msgid "Part stock is tracked by serial number"
-msgstr ""
+msgstr "通过序列号跟踪零件库存"
#: part/templates/part/part_base.html:135
msgid "Part can be purchased from external suppliers"
-msgstr ""
+msgstr "商品可以从外部供应商处购买"
#: part/templates/part/part_base.html:139
msgid "Part can be sold to customers"
-msgstr ""
+msgstr "商品可以销售给客户"
#: part/templates/part/part_base.html:145
msgid "Part is not active"
@@ -6976,54 +6994,54 @@ msgstr ""
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
-msgstr ""
+msgstr "商品是虚拟的(不是实体零件)"
#: part/templates/part/part_base.html:163
#: part/templates/part/part_base.html:682
msgid "Show Part Details"
-msgstr ""
+msgstr "显示零件详情"
#: part/templates/part/part_base.html:218
#: stock/templates/stock/item_base.html:388
msgid "Allocated to Build Orders"
-msgstr ""
+msgstr "分配生成订单 "
#: part/templates/part/part_base.html:227
#: stock/templates/stock/item_base.html:381
msgid "Allocated to Sales Orders"
-msgstr ""
+msgstr "分配销售订单"
#: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1213
msgid "Can Build"
-msgstr ""
+msgstr "可生产"
#: part/templates/part/part_base.html:291
msgid "Minimum stock level"
-msgstr ""
+msgstr "最低库存水平"
#: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071
#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2442
#: templates/js/translated/pricing.js:391
#: templates/js/translated/pricing.js:1054
msgid "Price Range"
-msgstr ""
+msgstr "价格范围 "
#: part/templates/part/part_base.html:352
msgid "Latest Serial Number"
-msgstr ""
+msgstr "最新序列号"
#: part/templates/part/part_base.html:356
#: stock/templates/stock/item_base.html:322
msgid "Search for serial number"
-msgstr ""
+msgstr "搜索序列号"
#: part/templates/part/part_base.html:444
msgid "Part QR Code"
-msgstr ""
+msgstr "商品二维码"
#: part/templates/part/part_base.html:461
msgid "Link Barcode to Part"
-msgstr ""
+msgstr "关联条形码到零件"
#: part/templates/part/part_base.html:472 templates/js/translated/part.js:2285
msgid "part"
@@ -7055,7 +7073,7 @@ msgstr ""
#: part/templates/part/part_pricing.html:95
#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
-msgstr ""
+msgstr "单位成本"
#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
@@ -7064,35 +7082,35 @@ msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
#: part/templates/part/prices.html:239
msgid "BOM Pricing"
-msgstr ""
+msgstr "BOM价格"
#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
-msgstr ""
+msgstr "采购单价"
#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
-msgstr ""
+msgstr "采购总价"
#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
-msgstr ""
+msgstr "没有可用的BOM价格"
#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
-msgstr ""
+msgstr "内部价格"
#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
-msgstr ""
+msgstr "此商品无价格信息可用。"
#: part/templates/part/part_scheduling.html:14
msgid "Scheduled Quantity"
-msgstr ""
+msgstr "排产数量"
#: part/templates/part/part_sidebar.html:11
msgid "Variants"
-msgstr ""
+msgstr "变体"
#: part/templates/part/part_sidebar.html:14
#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
@@ -7103,32 +7121,32 @@ msgstr ""
#: templates/js/translated/part.js:2390 templates/js/translated/stock.js:1059
#: templates/js/translated/stock.js:2040 templates/navbar.html:31
msgid "Stock"
-msgstr "庫存"
+msgstr "库存"
#: part/templates/part/part_sidebar.html:30
#: templates/InvenTree/settings/sidebar.html:39
msgid "Pricing"
-msgstr ""
+msgstr "定价"
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
-msgstr ""
+msgstr "排产"
#: part/templates/part/part_sidebar.html:54
msgid "Test Templates"
-msgstr ""
+msgstr "测试模板"
#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
-msgstr ""
+msgstr "从现存图像选择"
#: part/templates/part/prices.html:11
msgid "Pricing Overview"
-msgstr ""
+msgstr "价格概览"
#: part/templates/part/prices.html:14
msgid "Refresh Part Pricing"
-msgstr ""
+msgstr "更新零件价格"
#: part/templates/part/prices.html:25 stock/admin.py:147
#: stock/templates/stock/item_base.html:446
@@ -7136,62 +7154,62 @@ msgstr ""
#: templates/js/translated/company.js:1703
#: templates/js/translated/stock.js:2216
msgid "Last Updated"
-msgstr ""
+msgstr "最新更新"
#: part/templates/part/prices.html:34 part/templates/part/prices.html:116
msgid "Price Category"
-msgstr ""
+msgstr "价格分类"
#: part/templates/part/prices.html:35 part/templates/part/prices.html:117
msgid "Minimum"
-msgstr ""
+msgstr "最小值"
#: part/templates/part/prices.html:36 part/templates/part/prices.html:118
msgid "Maximum"
-msgstr ""
+msgstr "最大值"
#: part/templates/part/prices.html:48 part/templates/part/prices.html:163
msgid "Internal Pricing"
-msgstr ""
+msgstr "内部价格"
#: part/templates/part/prices.html:61 part/templates/part/prices.html:195
msgid "Purchase History"
-msgstr ""
+msgstr "购买历史"
#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
-msgstr ""
+msgstr "变体价格"
#: part/templates/part/prices.html:102
msgid "Overall Pricing"
-msgstr ""
+msgstr "总价"
#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
-msgstr ""
+msgstr "销售历史"
#: part/templates/part/prices.html:146
msgid "Sale price data is not available for this part"
-msgstr ""
+msgstr "销售价格不可用"
#: part/templates/part/prices.html:153
msgid "Price range data is not available for this part."
-msgstr ""
+msgstr "价格范围不可用"
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
#: part/templates/part/prices.html:316
msgid "Jump to overview"
-msgstr ""
+msgstr "跳转到总览图"
#: part/templates/part/prices.html:169
msgid "Add Internal Price Break"
-msgstr ""
+msgstr "添加内部价格限制"
#: part/templates/part/prices.html:286
msgid "Sale Pricing"
-msgstr ""
+msgstr "销售价格"
#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
@@ -7200,15 +7218,15 @@ msgstr ""
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:704
#: templates/js/translated/part.js:2138 templates/js/translated/part.js:2140
msgid "No Stock"
-msgstr ""
+msgstr "无库存"
#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120
msgid "Low Stock"
-msgstr "低庫存"
+msgstr "低库存"
#: part/templates/part/upload_bom.html:8
msgid "Return to BOM"
-msgstr ""
+msgstr "返回BOM"
#: part/templates/part/upload_bom.html:13
msgid "Upload Bill of Materials"
@@ -7241,7 +7259,7 @@ msgstr ""
#: part/templates/part/upload_bom.html:40
msgid "Each part must already exist in the database"
-msgstr ""
+msgstr "每个商品必须已经存在于数据库"
#: part/templates/part/variant_part.html:9
msgid "Create new part variant"
@@ -7270,96 +7288,96 @@ msgstr ""
#: part/views.py:383
msgid "Select Part Image"
-msgstr ""
+msgstr "选择商品图像"
#: part/views.py:409
msgid "Updated part image"
-msgstr ""
+msgstr "更新商品图像"
#: part/views.py:412
msgid "Part image not found"
-msgstr ""
+msgstr "未找到商品图像"
#: part/views.py:507
msgid "Part Pricing"
-msgstr ""
+msgstr "商品价格"
#: plugin/base/action/api.py:27
msgid "No action specified"
-msgstr ""
+msgstr "未指定操作"
#: plugin/base/action/api.py:38
msgid "No matching action found"
-msgstr ""
+msgstr "未找到指定操作"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
-msgstr ""
+msgstr "缺少条形码数据"
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
-msgstr ""
+msgstr "未找到匹配条形码数据"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
-msgstr ""
+msgstr "找到匹配条形码数据"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7377,8 +7395,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7480,51 +7498,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7553,7 +7571,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:73
+#: plugin/models.py:34 users/models.py:90
msgid "Key"
msgstr ""
@@ -7692,7 +7710,7 @@ msgstr ""
#: report/api.py:172
msgid "No valid objects provided to template"
-msgstr ""
+msgstr "没有为模板提供有效对象"
#: report/api.py:209 report/api.py:245
#, python-brace-format
@@ -7773,7 +7791,7 @@ msgstr ""
#: report/models.py:444
msgid "Part Filters"
-msgstr ""
+msgstr "商品过滤器"
#: report/models.py:445
msgid "Part query filters (comma-separated list of key=value pairs"
@@ -7839,7 +7857,7 @@ msgstr ""
#: templates/js/translated/purchase_order.js:2109
#: templates/js/translated/sales_order.js:1837
msgid "Unit Price"
-msgstr ""
+msgstr "单价"
#: report/templates/report/inventree_po_report_base.html:55
#: report/templates/report/inventree_return_order_report_base.html:48
@@ -7867,7 +7885,7 @@ msgstr ""
#: templates/js/translated/sales_order.js:1696
#: templates/js/translated/stock.js:596
msgid "Serial Number"
-msgstr ""
+msgstr "序列号"
#: report/templates/report/inventree_slr_report.html:97
msgid "Stock location items"
@@ -7957,7 +7975,7 @@ msgstr ""
#: stock/admin.py:128
msgid "Supplier Part ID"
-msgstr ""
+msgstr "供应商商品ID"
#: stock/admin.py:129
msgid "Supplier ID"
@@ -7998,7 +8016,7 @@ msgstr ""
#: stock/admin.py:149 stock/models.py:823
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2200 users/models.py:98
+#: templates/js/translated/stock.js:2200 users/models.py:115
msgid "Expiry Date"
msgstr ""
@@ -8006,23 +8024,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -8042,13 +8060,13 @@ msgstr ""
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
-msgstr ""
+msgstr "仓储地点"
#: stock/models.py:119 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:177
+#: users/models.py:194
msgid "Stock Locations"
-msgstr ""
+msgstr "仓储地点"
#: stock/models.py:148 stock/models.py:862
#: stock/templates/stock/item_base.html:247
@@ -8128,11 +8146,11 @@ msgstr ""
#: stock/models.py:719
msgid "Select a matching supplier part for this stock item"
-msgstr ""
+msgstr "请为此零件选择一个供应商"
#: stock/models.py:729
msgid "Where is this stock item located?"
-msgstr ""
+msgstr "此库存项目的仓储位置?"
#: stock/models.py:736 stock/serializers.py:1298
msgid "Packaging this stock item is stored in"
@@ -8225,7 +8243,7 @@ msgstr ""
#: stock/models.py:1436 stock/serializers.py:449
msgid "Serial numbers already exist"
-msgstr ""
+msgstr "序列号已存在"
#: stock/models.py:1507
msgid "Stock item has been assigned to a sales order"
@@ -8326,11 +8344,11 @@ msgstr ""
#: stock/serializers.py:400
msgid "Enter serial numbers for new items"
-msgstr ""
+msgstr "输入新项目的序列号"
#: stock/serializers.py:411 stock/serializers.py:1151 stock/serializers.py:1422
msgid "Destination stock location"
-msgstr ""
+msgstr "目标库存位置"
#: stock/serializers.py:418
msgid "Optional note field"
@@ -8355,7 +8373,7 @@ msgstr ""
#: stock/serializers.py:502 stock/serializers.py:581 stock/serializers.py:675
#: stock/serializers.py:731
msgid "Add transaction note (optional)"
-msgstr ""
+msgstr "添加交易备注 (可选)"
#: stock/serializers.py:511
msgid "Quantity to install must be at least 1"
@@ -8600,7 +8618,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139
#: templates/js/translated/build.js:2111 templates/navbar.html:38
msgid "Build"
-msgstr ""
+msgstr "生产"
#: stock/templates/stock/item_base.html:193
msgid "Parent Item"
@@ -8625,7 +8643,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:271
msgid "This stock item is in production and cannot be edited."
-msgstr ""
+msgstr "此库存项目正在生产中,无法编辑。"
#: stock/templates/stock/item_base.html:272
msgid "Edit the stock item from the build view."
@@ -8666,7 +8684,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:398
#: templates/js/translated/build.js:2368
msgid "No location set"
-msgstr ""
+msgstr "未设置仓储地点"
#: stock/templates/stock/item_base.html:413
msgid "Tests"
@@ -8682,7 +8700,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:148
+#: templates/js/translated/table_filters.js:435 users/models.py:165
msgid "Expired"
msgstr ""
@@ -8723,7 +8741,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:619
msgid "Warning"
-msgstr ""
+msgstr "警告"
#: stock/templates/stock/item_base.html:620
msgid "This action cannot be easily undone"
@@ -8775,15 +8793,15 @@ msgstr ""
#: stock/templates/stock/location.html:104
msgid "Location actions"
-msgstr ""
+msgstr "仓储地操作"
#: stock/templates/stock/location.html:106
msgid "Edit location"
-msgstr ""
+msgstr "编辑仓储地"
#: stock/templates/stock/location.html:108
msgid "Delete location"
-msgstr ""
+msgstr "删除仓储地"
#: stock/templates/stock/location.html:138
msgid "Top level stock location"
@@ -8795,7 +8813,7 @@ msgstr ""
#: stock/templates/stock/location.html:148
msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
+msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。"
#: stock/templates/stock/location.html:165
#: stock/templates/stock/location.html:213
@@ -8805,11 +8823,11 @@ msgstr ""
#: stock/templates/stock/location.html:217
msgid "Create new stock location"
-msgstr ""
+msgstr "新建仓储地点"
#: stock/templates/stock/location.html:218
msgid "New Location"
-msgstr ""
+msgstr "新建仓储地点"
#: stock/templates/stock/location.html:289
#: templates/js/translated/stock.js:2543
@@ -8900,15 +8918,15 @@ msgstr ""
#: templates/InvenTree/index.html:39
msgid "Subscribed Parts"
-msgstr "訂閱零件通知"
+msgstr "已订阅零件"
#: templates/InvenTree/index.html:52
msgid "Subscribed Categories"
-msgstr ""
+msgstr "已订阅分类"
#: templates/InvenTree/index.html:62
msgid "Latest Parts"
-msgstr "最近零件"
+msgstr "最近商品"
#: templates/InvenTree/index.html:77
msgid "BOM Waiting Validation"
@@ -8928,35 +8946,35 @@ msgstr ""
#: templates/InvenTree/index.html:156
msgid "Expired Stock"
-msgstr ""
+msgstr "过期库存"
#: templates/InvenTree/index.html:172
msgid "Stale Stock"
-msgstr ""
+msgstr "滞销库存"
#: templates/InvenTree/index.html:199
msgid "Build Orders In Progress"
-msgstr "生產中的工單"
+msgstr "生成订单处理中"
#: templates/InvenTree/index.html:210
msgid "Overdue Build Orders"
-msgstr "逾期的生產工單"
+msgstr "逾期的生产订单"
#: templates/InvenTree/index.html:230
msgid "Outstanding Purchase Orders"
-msgstr ""
+msgstr "未完成的采购单"
#: templates/InvenTree/index.html:241
msgid "Overdue Purchase Orders"
-msgstr ""
+msgstr "逾期的采购单"
#: templates/InvenTree/index.html:262
msgid "Outstanding Sales Orders"
-msgstr ""
+msgstr "未完成的销售订单"
#: templates/InvenTree/index.html:273
msgid "Overdue Sales Orders"
-msgstr ""
+msgstr "逾期的销售订单"
#: templates/InvenTree/index.html:299
msgid "InvenTree News"
@@ -8974,7 +8992,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:14
#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
-msgstr ""
+msgstr "移除通知"
#: templates/InvenTree/notifications/inbox.html:9
msgid "Pending Notifications"
@@ -9023,15 +9041,15 @@ msgstr ""
#: templates/InvenTree/settings/barcode.html:8
msgid "Barcode Settings"
-msgstr ""
+msgstr "条形码设置"
#: templates/InvenTree/settings/build.html:8
msgid "Build Order Settings"
-msgstr ""
+msgstr "生产订单设置"
#: templates/InvenTree/settings/category.html:7
msgid "Category Settings"
-msgstr ""
+msgstr "类别设置"
#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
@@ -9040,7 +9058,7 @@ msgstr ""
#: templates/InvenTree/settings/label.html:8
#: templates/InvenTree/settings/user_labels.html:9
msgid "Label Settings"
-msgstr ""
+msgstr "标签设置"
#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
@@ -9062,7 +9080,7 @@ msgstr ""
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147
msgid "Settings"
-msgstr ""
+msgstr "设置"
#: templates/InvenTree/settings/mixins/urls.html:5
msgid "URLs"
@@ -9080,7 +9098,7 @@ msgstr ""
#: templates/InvenTree/settings/notifications.html:9
#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
-msgstr ""
+msgstr "通知设置"
#: templates/InvenTree/settings/notifications.html:18
msgid "Slug"
@@ -9088,19 +9106,19 @@ msgstr ""
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
-msgstr ""
+msgstr "商品设置"
#: templates/InvenTree/settings/part.html:42
msgid "Part Import"
-msgstr ""
+msgstr "商品导入"
#: templates/InvenTree/settings/part.html:46
msgid "Import Part"
-msgstr ""
+msgstr "导入商品"
#: templates/InvenTree/settings/part_parameters.html:20
msgid "Part Parameter Templates"
-msgstr ""
+msgstr "商品参数模板"
#: templates/InvenTree/settings/part_stocktake.html:7
msgid "Stocktake Settings"
@@ -9157,7 +9175,7 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
-msgstr ""
+msgstr "插件信息"
#: templates/InvenTree/settings/plugin_settings.html:42
#: templates/js/translated/plugin.js:85
@@ -9194,7 +9212,7 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
-msgstr ""
+msgstr "安装路径"
#: templates/InvenTree/settings/plugin_settings.html:100
#: templates/js/translated/plugin.js:67
@@ -9210,7 +9228,7 @@ msgstr ""
#: templates/js/translated/plugin.js:71
#: templates/js/translated/table_filters.js:496
msgid "Sample"
-msgstr ""
+msgstr "样本"
#: templates/InvenTree/settings/plugin_settings.html:108
msgid "This is a sample plugin"
@@ -9236,7 +9254,7 @@ msgstr ""
#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
-msgstr ""
+msgstr "采购订单设置"
#: templates/InvenTree/settings/pricing.html:7
msgid "Pricing Settings"
@@ -9244,20 +9262,20 @@ msgstr ""
#: templates/InvenTree/settings/pricing.html:34
msgid "Exchange Rates"
-msgstr ""
+msgstr "汇率"
#: templates/InvenTree/settings/pricing.html:38
msgid "Update Now"
-msgstr ""
+msgstr "立即更新"
#: templates/InvenTree/settings/pricing.html:46
#: templates/InvenTree/settings/pricing.html:50
msgid "Last Update"
-msgstr ""
+msgstr "上次更新"
#: templates/InvenTree/settings/pricing.html:50
msgid "Never"
-msgstr ""
+msgstr "从不"
#: templates/InvenTree/settings/project_codes.html:8
msgid "Project Code Settings"
@@ -9276,7 +9294,7 @@ msgstr ""
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reporting.html:9
msgid "Report Settings"
-msgstr ""
+msgstr "报表设置"
#: templates/InvenTree/settings/returns.html:7
msgid "Return Order Settings"
@@ -9284,11 +9302,11 @@ msgstr ""
#: templates/InvenTree/settings/setting.html:31
msgid "No value set"
-msgstr ""
+msgstr "未设置值"
#: templates/InvenTree/settings/setting.html:46
msgid "Edit setting"
-msgstr ""
+msgstr "编辑设置"
#: templates/InvenTree/settings/settings_js.html:58
msgid "Edit Plugin Setting"
@@ -9316,14 +9334,14 @@ msgstr ""
#: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
-msgstr ""
+msgstr "编辑"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:393
+#: templates/js/translated/stock.js:245 users/models.py:410
msgid "Delete"
-msgstr ""
+msgstr "删除"
#: templates/InvenTree/settings/settings_staff_js.html:95
msgid "Edit Custom Unit"
@@ -9353,17 +9371,17 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:265
msgid "No category parameter templates found"
-msgstr ""
+msgstr "未找到类别参数模板"
#: templates/InvenTree/settings/settings_staff_js.html:288
#: templates/js/translated/part.js:1645
msgid "Edit Template"
-msgstr ""
+msgstr "编辑模板"
#: templates/InvenTree/settings/settings_staff_js.html:289
#: templates/js/translated/part.js:1646
msgid "Delete Template"
-msgstr ""
+msgstr "删除模板"
#: templates/InvenTree/settings/settings_staff_js.html:306
msgid "Edit Category Parameter Template"
@@ -9371,11 +9389,11 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:333
msgid "Delete Category Parameter Template"
-msgstr ""
+msgstr "删除类别参数模板"
#: templates/InvenTree/settings/settings_staff_js.html:368
msgid "Create Category Parameter Template"
-msgstr ""
+msgstr "创建类别参数模板"
#: templates/InvenTree/settings/settings_staff_js.html:398
msgid "Create Part Parameter Template"
@@ -9410,7 +9428,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:6
#: templates/InvenTree/settings/user_settings.html:9
msgid "User Settings"
-msgstr ""
+msgstr "用户设置"
#: templates/InvenTree/settings/sidebar.html:9
msgid "Account"
@@ -9422,14 +9440,14 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:13
msgid "Home Page"
-msgstr ""
+msgstr "主页"
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
-msgstr ""
+msgstr "搜索"
#: templates/InvenTree/settings/sidebar.html:19
#: templates/InvenTree/settings/sidebar.html:43
@@ -9454,11 +9472,11 @@ msgstr ""
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
-msgstr ""
+msgstr "销售订单设置"
#: templates/InvenTree/settings/stock.html:7
msgid "Stock Settings"
-msgstr ""
+msgstr "库存设置"
#: templates/InvenTree/settings/stock.html:31
msgid "Stock Location Types"
@@ -9466,25 +9484,25 @@ msgstr ""
#: templates/InvenTree/settings/user.html:13
msgid "Account Settings"
-msgstr ""
+msgstr "帐户设置"
#: templates/InvenTree/settings/user.html:19
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
-msgstr ""
+msgstr "更改密码"
#: templates/InvenTree/settings/user.html:33
msgid "Username"
-msgstr ""
+msgstr "用户名"
#: templates/InvenTree/settings/user.html:37
msgid "First Name"
-msgstr ""
+msgstr "名字"
#: templates/InvenTree/settings/user.html:41
msgid "Last Name"
-msgstr ""
+msgstr "姓氏"
#: templates/InvenTree/settings/user.html:55
msgid "The following email addresses are associated with your account:"
@@ -9513,7 +9531,7 @@ msgstr ""
#: templates/InvenTree/settings/user.html:96
msgid "Warning:"
-msgstr ""
+msgstr "警告:"
#: templates/InvenTree/settings/user.html:97
msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
@@ -9537,7 +9555,7 @@ msgstr ""
#: templates/InvenTree/settings/user.html:135
msgid "TOTP"
-msgstr ""
+msgstr "TOTP"
#: templates/InvenTree/settings/user.html:141
msgid "Static"
@@ -9581,11 +9599,11 @@ msgstr ""
#: templates/InvenTree/settings/user.html:189
msgid "IP Address"
-msgstr ""
+msgstr "IP 地址"
#: templates/InvenTree/settings/user.html:190
msgid "Device"
-msgstr ""
+msgstr "设备"
#: templates/InvenTree/settings/user.html:191
msgid "Last Activity"
@@ -9607,44 +9625,44 @@ msgstr ""
#: templates/InvenTree/settings/user_display.html:9
msgid "Display Settings"
-msgstr ""
+msgstr "显示设置"
#: templates/InvenTree/settings/user_display.html:29
msgid "Theme Settings"
-msgstr ""
+msgstr "主题设置"
#: templates/InvenTree/settings/user_display.html:39
msgid "Select theme"
-msgstr ""
+msgstr "选择主题"
#: templates/InvenTree/settings/user_display.html:50
msgid "Set Theme"
-msgstr ""
+msgstr "设置主题"
#: templates/InvenTree/settings/user_display.html:58
msgid "Language Settings"
-msgstr ""
+msgstr "语言设置"
#: templates/InvenTree/settings/user_display.html:67
msgid "Select language"
-msgstr ""
+msgstr "选择语言"
#: templates/InvenTree/settings/user_display.html:83
#, python-format
msgid "%(lang_translated)s%% translated"
-msgstr ""
+msgstr "%(lang_translated)s%% 已翻译"
#: templates/InvenTree/settings/user_display.html:85
msgid "No translations available"
-msgstr ""
+msgstr "无可用翻译"
#: templates/InvenTree/settings/user_display.html:92
msgid "Set Language"
-msgstr ""
+msgstr "设置语言"
#: templates/InvenTree/settings/user_display.html:95
msgid "Some languages are not complete"
-msgstr ""
+msgstr "部分语言尚未翻译完成"
#: templates/InvenTree/settings/user_display.html:97
msgid "Show only sufficient"
@@ -9660,23 +9678,23 @@ msgstr ""
#: templates/InvenTree/settings/user_display.html:106
msgid "Help the translation efforts!"
-msgstr ""
+msgstr "帮助翻译工作!"
#: templates/InvenTree/settings/user_display.html:107
msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged."
-msgstr ""
+msgstr "InventTree 网页的本地化翻译是社区通过 crowdin 贡献的。我们欢迎并鼓励参与贡献。"
#: templates/InvenTree/settings/user_display.html:108
msgid "InvenTree Translation Project"
-msgstr ""
+msgstr "InvenTree 翻译项目"
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
-msgstr ""
+msgstr "主页设置"
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
-msgstr ""
+msgstr "搜索设置"
#: templates/InvenTree/settings/user_sso.html:9
msgid "Single Sign On Accounts"
@@ -9700,19 +9718,19 @@ msgstr ""
#: templates/about.html:9
msgid "InvenTree Version"
-msgstr ""
+msgstr "InvenTree 版本"
#: templates/about.html:14
msgid "Development Version"
-msgstr ""
+msgstr "开发版"
#: templates/about.html:17
msgid "Up to Date"
-msgstr ""
+msgstr "已是最新版本"
#: templates/about.html:19
msgid "Update Available"
-msgstr ""
+msgstr "有可用更新"
#: templates/about.html:43
msgid "Commit Branch"
@@ -9720,44 +9738,44 @@ msgstr ""
#: templates/about.html:49
msgid "InvenTree Documentation"
-msgstr ""
+msgstr "InvenTree 文档"
#: templates/about.html:54
msgid "API Version"
-msgstr ""
+msgstr "API 版本"
#: templates/about.html:59
msgid "Python Version"
-msgstr ""
+msgstr "Python 版本"
#: templates/about.html:64
msgid "Django Version"
-msgstr ""
+msgstr "Django 版本"
#: templates/about.html:69
msgid "View Code on GitHub"
-msgstr ""
+msgstr "在 GitHub 上查看代码"
#: templates/about.html:74
msgid "Credits"
-msgstr ""
+msgstr "致谢"
#: templates/about.html:79
msgid "Mobile App"
-msgstr ""
+msgstr "手机 APP"
#: templates/about.html:84
msgid "Submit Bug Report"
-msgstr ""
+msgstr "提交 Bug"
#: templates/about.html:91 templates/clip.html:4
#: templates/js/translated/helpers.js:585
msgid "copy to clipboard"
-msgstr ""
+msgstr "复制到剪贴板"
#: templates/about.html:91
msgid "copy version information"
-msgstr ""
+msgstr "显示版本信息"
#: templates/account/base.html:66 templates/navbar.html:17
msgid "InvenTree logo"
@@ -9766,16 +9784,16 @@ msgstr ""
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
-msgstr ""
+msgstr "确认邮件地址"
#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764
msgid "Confirm"
-msgstr ""
+msgstr "确认"
#: templates/account/email_confirm.html:29
#, python-format
@@ -9785,21 +9803,21 @@ msgstr ""
#: templates/account/login.html:6 templates/account/login.html:17
#: templates/account/login.html:38 templates/socialaccount/login.html:5
msgid "Sign In"
-msgstr ""
+msgstr "登录-test"
#: templates/account/login.html:21
msgid "Not a member?"
-msgstr ""
+msgstr "还不是用户?"
#: templates/account/login.html:23 templates/account/signup.html:11
#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
#: templates/socialaccount/signup.html:20
msgid "Sign Up"
-msgstr ""
+msgstr "注册"
#: templates/account/login.html:45
msgid "Forgot Password?"
-msgstr ""
+msgstr "忘记密码?"
#: templates/account/login.html:53
msgid "or log in with"
@@ -9947,7 +9965,7 @@ msgstr ""
#: templates/attachment_button.html:7 templates/js/translated/attachment.js:48
msgid "Add Attachment"
-msgstr ""
+msgstr "添加附件"
#: templates/barcode_data.html:5
msgid "Barcode Identifier"
@@ -9974,6 +9992,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10113,7 +10132,7 @@ msgstr ""
#: templates/js/translated/attachment.js:315
msgid "Edit Attachment"
-msgstr ""
+msgstr "编辑附件"
#: templates/js/translated/attachment.js:346
msgid "Upload Date"
@@ -10133,7 +10152,7 @@ msgstr ""
#: templates/js/translated/barcode.js:45
msgid "Enter barcode data"
-msgstr ""
+msgstr "输入条形码数据"
#: templates/js/translated/barcode.js:59
msgid "Scan barcode using connected webcam"
@@ -10166,7 +10185,7 @@ msgstr ""
#: templates/js/translated/barcode.js:420 templates/navbar.html:114
msgid "Scan Barcode"
-msgstr ""
+msgstr "扫描条形码"
#: templates/js/translated/barcode.js:440
msgid "No URL in response"
@@ -10272,7 +10291,7 @@ msgstr ""
#: templates/js/translated/bom.js:357
msgid "Levels"
-msgstr ""
+msgstr "等级"
#: templates/js/translated/bom.js:358
msgid "Select maximum number of BOM levels to export (0 = all levels)"
@@ -10288,7 +10307,7 @@ msgstr ""
#: templates/js/translated/bom.js:371
msgid "Include Parameter Data"
-msgstr ""
+msgstr "包含参数数据"
#: templates/js/translated/bom.js:372
msgid "Include part parameter data in exported BOM"
@@ -10296,27 +10315,27 @@ msgstr ""
#: templates/js/translated/bom.js:377
msgid "Include Stock Data"
-msgstr ""
+msgstr "包括库存数据"
#: templates/js/translated/bom.js:378
msgid "Include part stock data in exported BOM"
-msgstr ""
+msgstr "在导出 BOM 中包括库存数据"
#: templates/js/translated/bom.js:383
msgid "Include Manufacturer Data"
-msgstr ""
+msgstr "包括制造商数据"
#: templates/js/translated/bom.js:384
msgid "Include part manufacturer data in exported BOM"
-msgstr ""
+msgstr "在导出 BOM 中包含制造商数据"
#: templates/js/translated/bom.js:389
msgid "Include Supplier Data"
-msgstr ""
+msgstr "包含供应商数据"
#: templates/js/translated/bom.js:390
msgid "Include part supplier data in exported BOM"
-msgstr ""
+msgstr "在导出 BOM 中包含供应商数据"
#: templates/js/translated/bom.js:395
msgid "Include Pricing Data"
@@ -10463,7 +10482,7 @@ msgstr ""
#: templates/js/translated/build.js:226
msgid "Are you sure you wish to cancel this build?"
-msgstr ""
+msgstr "是否确定取消生产?"
#: templates/js/translated/build.js:232
msgid "Stock items have been allocated to this build order"
@@ -10483,11 +10502,11 @@ msgstr ""
#: templates/js/translated/build.js:304
msgid "Build Order is incomplete"
-msgstr ""
+msgstr "生产订单未完成"
#: templates/js/translated/build.js:322
msgid "Complete Build Order"
-msgstr ""
+msgstr "生产订单完成"
#: templates/js/translated/build.js:363 templates/js/translated/stock.js:119
#: templates/js/translated/stock.js:294
@@ -10509,7 +10528,7 @@ msgstr ""
#: templates/js/translated/build.js:383
msgid "Trackable parts can have serial numbers specified"
-msgstr ""
+msgstr "可追踪商品可以指定序列号"
#: templates/js/translated/build.js:384
msgid "Enter serial numbers to generate multiple single build outputs"
@@ -10517,7 +10536,7 @@ msgstr ""
#: templates/js/translated/build.js:391
msgid "Create Build Output"
-msgstr ""
+msgstr "创建创建生产产出"
#: templates/js/translated/build.js:422
msgid "Allocate stock items to this build output"
@@ -10616,11 +10635,11 @@ msgstr ""
#: templates/js/translated/build.js:998
msgid "Location not specified"
-msgstr ""
+msgstr "未指定仓储地点"
#: templates/js/translated/build.js:1020
msgid "Complete outputs"
-msgstr ""
+msgstr "已完成输出"
#: templates/js/translated/build.js:1038
msgid "Scrap outputs"
@@ -10628,7 +10647,7 @@ msgstr ""
#: templates/js/translated/build.js:1056
msgid "Delete outputs"
-msgstr ""
+msgstr "删除输出"
#: templates/js/translated/build.js:1110
msgid "build output"
@@ -10658,7 +10677,7 @@ msgstr ""
#: templates/js/translated/purchase_order.js:630
#: templates/js/translated/sales_order.js:1171
msgid "Select Parts"
-msgstr ""
+msgstr "选择商品"
#: templates/js/translated/build.js:1564
#: templates/js/translated/sales_order.js:1172
@@ -10726,7 +10745,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
+#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -10742,7 +10761,7 @@ msgstr ""
#: templates/js/translated/build.js:2201 templates/js/translated/stock.js:3013
msgid "No user information"
-msgstr ""
+msgstr "没有用户信息"
#: templates/js/translated/build.js:2216
msgid "group"
@@ -10781,7 +10800,7 @@ msgstr ""
#: templates/js/translated/build.js:2495 templates/js/translated/part.js:790
#: templates/js/translated/part.js:1202
msgid "Trackable part"
-msgstr ""
+msgstr "可追溯商品"
#: templates/js/translated/build.js:2530
msgid "Unit Quantity"
@@ -10825,30 +10844,30 @@ msgstr ""
#: templates/js/translated/company.js:98
msgid "Add Manufacturer"
-msgstr ""
+msgstr "添加制造商"
#: templates/js/translated/company.js:111
#: templates/js/translated/company.js:213
msgid "Add Manufacturer Part"
-msgstr ""
+msgstr "添加制造商商品"
#: templates/js/translated/company.js:132
msgid "Edit Manufacturer Part"
-msgstr ""
+msgstr "编辑制造商商品"
#: templates/js/translated/company.js:201
#: templates/js/translated/purchase_order.js:93
msgid "Add Supplier"
-msgstr ""
+msgstr "添加供应商"
#: templates/js/translated/company.js:243
#: templates/js/translated/purchase_order.js:352
msgid "Add Supplier Part"
-msgstr ""
+msgstr "添加供应商商品"
#: templates/js/translated/company.js:344
msgid "All selected supplier parts will be deleted"
-msgstr ""
+msgstr "删除所有选定的供应商商品"
#: templates/js/translated/company.js:360
msgid "Delete Supplier Parts"
@@ -10856,7 +10875,7 @@ msgstr ""
#: templates/js/translated/company.js:465
msgid "Add new Company"
-msgstr ""
+msgstr "增加新的公司信息"
#: templates/js/translated/company.js:536
msgid "Parts Supplied"
@@ -10868,7 +10887,7 @@ msgstr ""
#: templates/js/translated/company.js:560
msgid "No company information found"
-msgstr ""
+msgstr "未找到该公司信息"
#: templates/js/translated/company.js:609
msgid "Create New Contact"
@@ -10955,7 +10974,7 @@ msgstr ""
#: templates/js/translated/company.js:1117
msgid "Delete Manufacturer Parts"
-msgstr ""
+msgstr "删除制造商商品"
#: templates/js/translated/company.js:1151
msgid "All selected parameters will be deleted"
@@ -10963,16 +10982,16 @@ msgstr ""
#: templates/js/translated/company.js:1165
msgid "Delete Parameters"
-msgstr ""
+msgstr "删除参数"
#: templates/js/translated/company.js:1181
#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2242
msgid "Order parts"
-msgstr ""
+msgstr "订购商品"
#: templates/js/translated/company.js:1198
msgid "Delete manufacturer parts"
-msgstr ""
+msgstr "删除制造商商品"
#: templates/js/translated/company.js:1230
msgid "Manufacturer part actions"
@@ -10996,31 +11015,31 @@ msgstr ""
#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
msgid "No parameters found"
-msgstr ""
+msgstr "无指定参数"
#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
msgid "Edit parameter"
-msgstr ""
+msgstr "编辑参数"
#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
msgid "Delete parameter"
-msgstr ""
+msgstr "删除参数"
#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
msgid "Edit Parameter"
-msgstr ""
+msgstr "编辑参数"
#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
msgid "Delete Parameter"
-msgstr ""
+msgstr "删除参数"
#: templates/js/translated/company.js:1486
msgid "Delete supplier parts"
-msgstr ""
+msgstr "删除供应商商品"
#: templates/js/translated/company.js:1536
msgid "No supplier parts found"
-msgstr ""
+msgstr "未找到供应商商品"
#: templates/js/translated/company.js:1654
msgid "Base Units"
@@ -11032,11 +11051,11 @@ msgstr ""
#: templates/js/translated/company.js:1715
msgid "Edit supplier part"
-msgstr ""
+msgstr "编辑供应商商品"
#: templates/js/translated/company.js:1716
msgid "Delete supplier part"
-msgstr ""
+msgstr "删除供应商商品"
#: templates/js/translated/company.js:1769
#: templates/js/translated/pricing.js:694
@@ -11076,11 +11095,11 @@ msgstr ""
#: templates/js/translated/filters.js:214
msgid "Select filter"
-msgstr ""
+msgstr "选择筛选项"
#: templates/js/translated/filters.js:437
msgid "Print Labels"
-msgstr ""
+msgstr "打印标签"
#: templates/js/translated/filters.js:441
msgid "Print Reports"
@@ -11127,40 +11146,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:772
+#: templates/js/translated/forms.js:790
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:874
+#: templates/js/translated/forms.js:893
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1422 templates/modals.html:19
+#: templates/js/translated/forms.js:1463 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1876
+#: templates/js/translated/forms.js:1961
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2394
+#: templates/js/translated/forms.js:2479
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2851
+#: templates/js/translated/forms.js:3065
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2863
+#: templates/js/translated/forms.js:3077
msgid "Select Columns"
msgstr ""
@@ -11198,7 +11217,7 @@ msgstr ""
#: templates/js/translated/label.js:72
msgid "No Labels Found"
-msgstr ""
+msgstr "未找到标签"
#: templates/js/translated/label.js:73
msgid "No label templates found which match the selected items"
@@ -11212,34 +11231,34 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:143
+#: templates/js/translated/label.js:148
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:144
+#: templates/js/translated/label.js:149
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:150
+#: templates/js/translated/label.js:155
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:163
+#: templates/js/translated/label.js:168
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:182
+#: templates/js/translated/label.js:187
msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158
#: templates/js/translated/modals.js:683
msgid "Cancel"
-msgstr ""
+msgstr "取消"
#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157
#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059
@@ -11303,7 +11322,7 @@ msgstr ""
#: templates/js/translated/notification.js:46
#: templates/js/translated/part.js:1604
msgid "ID"
-msgstr ""
+msgstr "ID"
#: templates/js/translated/notification.js:52
msgid "Age"
@@ -11368,23 +11387,23 @@ msgstr ""
#: templates/js/translated/part.js:90
msgid "Part Attributes"
-msgstr ""
+msgstr "商品属性"
#: templates/js/translated/part.js:94
msgid "Part Creation Options"
-msgstr ""
+msgstr "商品创建选项"
#: templates/js/translated/part.js:98
msgid "Part Duplication Options"
-msgstr ""
+msgstr "商品重复选项"
#: templates/js/translated/part.js:121
msgid "Add Part Category"
-msgstr ""
+msgstr "增加商品类别"
#: templates/js/translated/part.js:308
msgid "Parent part category"
-msgstr ""
+msgstr "上一级零件类别"
#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175
msgid "Icon (optional) - Explore all available icons on"
@@ -11392,7 +11411,7 @@ msgstr ""
#: templates/js/translated/part.js:352
msgid "Create Part Category"
-msgstr ""
+msgstr "创建商品类别"
#: templates/js/translated/part.js:355
msgid "Create new category after this one"
@@ -11404,7 +11423,7 @@ msgstr ""
#: templates/js/translated/part.js:370
msgid "Edit Part Category"
-msgstr ""
+msgstr "编辑商品类别"
#: templates/js/translated/part.js:383
msgid "Are you sure you want to delete this part category?"
@@ -11416,7 +11435,7 @@ msgstr ""
#: templates/js/translated/part.js:397
msgid "Delete Part Category"
-msgstr ""
+msgstr "删除商品类别"
#: templates/js/translated/part.js:401
msgid "Action for parts in this category"
@@ -11428,7 +11447,7 @@ msgstr ""
#: templates/js/translated/part.js:430
msgid "Create Part"
-msgstr ""
+msgstr "创建商品"
#: templates/js/translated/part.js:432
msgid "Create another part after this one"
@@ -11440,7 +11459,7 @@ msgstr ""
#: templates/js/translated/part.js:461
msgid "Edit Part"
-msgstr ""
+msgstr "编辑商品"
#: templates/js/translated/part.js:463
msgid "Part edited"
@@ -11513,7 +11532,7 @@ msgstr ""
#: templates/js/translated/part.js:685
#: templates/js/translated/table_filters.js:743
msgid "Low stock"
-msgstr ""
+msgstr "低库存"
#: templates/js/translated/part.js:688
msgid "No stock available"
@@ -11529,15 +11548,15 @@ msgstr ""
#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206
msgid "Virtual part"
-msgstr ""
+msgstr "虚拟商品"
#: templates/js/translated/part.js:806
msgid "Subscribed part"
-msgstr ""
+msgstr "子零件"
#: templates/js/translated/part.js:810
msgid "Salable part"
-msgstr ""
+msgstr "可销售商品"
#: templates/js/translated/part.js:889
msgid "Schedule generation of a new stocktake report."
@@ -11573,7 +11592,7 @@ msgstr ""
#: templates/js/translated/part.js:1599
msgid "No part parameter templates found"
-msgstr ""
+msgstr "未找到商品参数模板"
#: templates/js/translated/part.js:1662
msgid "Edit Part Parameter Template"
@@ -11614,7 +11633,7 @@ msgstr ""
#: templates/js/translated/part.js:2077 templates/js/translated/part.js:2504
msgid "No parts found"
-msgstr ""
+msgstr "找不到部件"
#: templates/js/translated/part.js:2198
msgid "Set the part category for the selected parts"
@@ -11622,11 +11641,11 @@ msgstr ""
#: templates/js/translated/part.js:2203
msgid "Set Part Category"
-msgstr ""
+msgstr "设置商品类别"
#: templates/js/translated/part.js:2233
msgid "Set category"
-msgstr ""
+msgstr "设置类别"
#: templates/js/translated/part.js:2286
msgid "parts"
@@ -11634,16 +11653,16 @@ msgstr ""
#: templates/js/translated/part.js:2382
msgid "No category"
-msgstr ""
+msgstr "没有分类"
#: templates/js/translated/part.js:2529 templates/js/translated/part.js:2659
#: templates/js/translated/stock.js:2640
msgid "Display as list"
-msgstr ""
+msgstr "按列表显示"
#: templates/js/translated/part.js:2545
msgid "Display as grid"
-msgstr ""
+msgstr "按网格显示"
#: templates/js/translated/part.js:2643
msgid "No subcategories found"
@@ -11651,7 +11670,7 @@ msgstr ""
#: templates/js/translated/part.js:2679 templates/js/translated/stock.js:2660
msgid "Display as tree"
-msgstr ""
+msgstr "按树显示"
#: templates/js/translated/part.js:2759
msgid "Load Subcategories"
@@ -11667,12 +11686,12 @@ msgstr ""
#: templates/js/translated/part.js:2903 templates/js/translated/stock.js:1436
msgid "Edit test result"
-msgstr ""
+msgstr "编辑测试结果"
#: templates/js/translated/part.js:2904 templates/js/translated/stock.js:1437
#: templates/js/translated/stock.js:1699
msgid "Delete test result"
-msgstr ""
+msgstr "删除测试结果"
#: templates/js/translated/part.js:2908
msgid "This test is defined for a parent part"
@@ -11688,11 +11707,11 @@ msgstr ""
#: templates/js/translated/part.js:3017 templates/js/translated/part.js:3018
msgid "No date specified"
-msgstr ""
+msgstr "无指定日期"
#: templates/js/translated/part.js:3020
msgid "Specified date is in the past"
-msgstr ""
+msgstr "指定的日期已过"
#: templates/js/translated/part.js:3026
msgid "Speculative"
@@ -11712,7 +11731,7 @@ msgstr ""
#: templates/js/translated/part.js:3194
msgid "Maximum Quantity"
-msgstr ""
+msgstr "最大数量"
#: templates/js/translated/part.js:3239
msgid "Minimum Stock Level"
@@ -11888,11 +11907,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:665
msgid "New supplier part"
-msgstr ""
+msgstr "新建供应商零件"
#: templates/js/translated/purchase_order.js:683
msgid "New purchase order"
-msgstr ""
+msgstr "新建采购单"
#: templates/js/translated/purchase_order.js:715
msgid "Add to purchase order"
@@ -11953,7 +11972,7 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1301
msgid "Order Code"
-msgstr ""
+msgstr "订单编码"
#: templates/js/translated/purchase_order.js:1303
msgid "Quantity to Receive"
@@ -12051,7 +12070,7 @@ msgstr ""
#: templates/js/translated/report.js:140
msgid "No Reports Found"
-msgstr ""
+msgstr "没有找到报表"
#: templates/js/translated/report.js:141
msgid "No report templates found which match the selected items"
@@ -12223,7 +12242,7 @@ msgstr ""
#: templates/js/translated/sales_order.js:1270
msgid "Confirm stock allocation"
-msgstr ""
+msgstr "确认库存分配"
#: templates/js/translated/sales_order.js:1271
msgid "Allocate Stock Items to Sales Order"
@@ -12239,7 +12258,7 @@ msgstr ""
#: templates/js/translated/sales_order.js:1583
msgid "Confirm Delete Operation"
-msgstr ""
+msgstr "确认删除操作"
#: templates/js/translated/sales_order.js:1584
msgid "Delete Stock Allocation"
@@ -12331,11 +12350,11 @@ msgstr ""
#: templates/js/translated/stock.js:202
msgid "Edit Stock Location"
-msgstr ""
+msgstr "编辑仓储地点"
#: templates/js/translated/stock.js:217
msgid "New Stock Location"
-msgstr ""
+msgstr "新仓储地点"
#: templates/js/translated/stock.js:219
msgid "Create another location after this one"
@@ -12347,7 +12366,7 @@ msgstr ""
#: templates/js/translated/stock.js:234
msgid "Are you sure you want to delete this stock location?"
-msgstr ""
+msgstr "确实要删除此仓储地点吗?"
#: templates/js/translated/stock.js:241
msgid "Move to parent stock location"
@@ -12355,7 +12374,7 @@ msgstr ""
#: templates/js/translated/stock.js:250
msgid "Delete Stock Location"
-msgstr ""
+msgstr "删除仓储地点"
#: templates/js/translated/stock.js:254
msgid "Action for stock items in this stock location"
@@ -12383,23 +12402,23 @@ msgstr ""
#: templates/js/translated/stock.js:439
msgid "Stock item duplicated"
-msgstr ""
+msgstr "库存项重复"
#: templates/js/translated/stock.js:459
msgid "Duplicate Stock Item"
-msgstr ""
+msgstr "复制库存项"
#: templates/js/translated/stock.js:475
msgid "Are you sure you want to delete this stock item?"
-msgstr ""
+msgstr "确定要删除此库存项吗?"
#: templates/js/translated/stock.js:480
msgid "Delete Stock Item"
-msgstr ""
+msgstr "删除库存项"
#: templates/js/translated/stock.js:501
msgid "Edit Stock Item"
-msgstr ""
+msgstr "编辑库存项"
#: templates/js/translated/stock.js:543
msgid "Create another item after this one"
@@ -12407,7 +12426,7 @@ msgstr ""
#: templates/js/translated/stock.js:555
msgid "Created new stock item"
-msgstr ""
+msgstr "新建库存项"
#: templates/js/translated/stock.js:568
msgid "Created multiple stock items"
@@ -12415,23 +12434,23 @@ msgstr ""
#: templates/js/translated/stock.js:593
msgid "Find Serial Number"
-msgstr ""
+msgstr "查找序列号"
#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598
msgid "Enter serial number"
-msgstr ""
+msgstr "输入序列号"
#: templates/js/translated/stock.js:614
msgid "Enter a serial number"
-msgstr ""
+msgstr "输入序列号"
#: templates/js/translated/stock.js:634
msgid "No matching serial number"
-msgstr ""
+msgstr "没有匹配的序列号"
#: templates/js/translated/stock.js:643
msgid "More than one matching result found"
-msgstr ""
+msgstr "找到多个匹配结果"
#: templates/js/translated/stock.js:751
msgid "Confirm stock assignment"
@@ -12467,7 +12486,7 @@ msgstr ""
#: templates/js/translated/stock.js:1024
msgid "Transfer Stock"
-msgstr ""
+msgstr "转移库存"
#: templates/js/translated/stock.js:1025
msgid "Move"
@@ -12491,15 +12510,15 @@ msgstr ""
#: templates/js/translated/stock.js:1041
msgid "Add Stock"
-msgstr ""
+msgstr "添加库存"
-#: templates/js/translated/stock.js:1042 users/models.py:389
+#: templates/js/translated/stock.js:1042 users/models.py:406
msgid "Add"
-msgstr ""
+msgstr "添加"
#: templates/js/translated/stock.js:1046
msgid "Delete Stock"
-msgstr ""
+msgstr "删除库存"
#: templates/js/translated/stock.js:1143
msgid "Quantity cannot be adjusted for serialized stock"
@@ -12511,7 +12530,7 @@ msgstr ""
#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267
msgid "Select Stock Items"
-msgstr ""
+msgstr "选择库存项"
#: templates/js/translated/stock.js:1178
msgid "Select at least one available stock item"
@@ -12559,7 +12578,7 @@ msgstr ""
#: templates/js/translated/stock.js:1736
msgid "In production"
-msgstr ""
+msgstr "正在生产"
#: templates/js/translated/stock.js:1740
msgid "Installed in Stock Item"
@@ -12571,7 +12590,7 @@ msgstr ""
#: templates/js/translated/stock.js:1754
msgid "No stock location set"
-msgstr ""
+msgstr "未设置仓储地点"
#: templates/js/translated/stock.js:1810
msgid "Change stock status"
@@ -12603,7 +12622,7 @@ msgstr ""
#: templates/js/translated/stock.js:2061
msgid "Stock item is in production"
-msgstr ""
+msgstr "库存品正在生产"
#: templates/js/translated/stock.js:2066
msgid "Stock item assigned to sales order"
@@ -12680,7 +12699,7 @@ msgstr ""
#: templates/js/translated/stock.js:2817
msgid "Details"
-msgstr ""
+msgstr "详情"
#: templates/js/translated/stock.js:2821
msgid "No changes"
@@ -12805,7 +12824,7 @@ msgstr ""
#: templates/js/translated/table_filters.js:158
msgid "Trackable Part"
-msgstr ""
+msgstr "可追溯商品"
#: templates/js/translated/table_filters.js:162
msgid "Assembled Part"
@@ -12924,11 +12943,11 @@ msgstr ""
#: templates/js/translated/table_filters.js:360
msgid "In Production"
-msgstr ""
+msgstr "正在生产"
#: templates/js/translated/table_filters.js:361
msgid "Show items which are in production"
-msgstr ""
+msgstr "显示正在生产的项目"
#: templates/js/translated/table_filters.js:365
msgid "Include Variants"
@@ -12993,7 +13012,7 @@ msgstr ""
#: templates/js/translated/table_filters.js:511
msgid "Build status"
-msgstr ""
+msgstr "生产状态"
#: templates/js/translated/table_filters.js:708
msgid "Include parts in subcategories"
@@ -13022,7 +13041,7 @@ msgstr ""
#: templates/js/translated/table_filters.js:735
msgid "Part has internal part number"
-msgstr ""
+msgstr "商品有内部编号"
#: templates/js/translated/table_filters.js:739
msgid "In stock"
@@ -13042,11 +13061,11 @@ msgstr ""
#: templates/js/translated/tables.js:92
msgid "Display calendar view"
-msgstr ""
+msgstr "显示日历"
#: templates/js/translated/tables.js:102
msgid "Display list view"
-msgstr ""
+msgstr "列表视图"
#: templates/js/translated/tables.js:112
msgid "Display tree view"
@@ -13074,7 +13093,7 @@ msgstr ""
#: templates/js/translated/tables.js:532
msgid "rows per page"
-msgstr "每頁行數"
+msgstr ""
#: templates/js/translated/tables.js:537
msgid "Showing all rows"
@@ -13082,7 +13101,7 @@ msgstr ""
#: templates/js/translated/tables.js:539
msgid "Showing"
-msgstr "顯示"
+msgstr ""
#: templates/js/translated/tables.js:539
msgid "to"
@@ -13118,11 +13137,11 @@ msgstr ""
#: templates/navbar.html:45
msgid "Buy"
-msgstr "採購"
+msgstr "采购"
#: templates/navbar.html:57
msgid "Sell"
-msgstr "銷售"
+msgstr "销售"
#: templates/navbar.html:121
msgid "Show Notifications"
@@ -13132,9 +13151,9 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:173
+#: templates/navbar.html:144 users/models.py:190
msgid "Admin"
-msgstr ""
+msgstr "管理员"
#: templates/navbar.html:148
msgid "Logout"
@@ -13288,27 +13307,27 @@ msgstr ""
#: templates/stats.html:75
msgid "Email Settings"
-msgstr ""
+msgstr "电子邮件设置"
#: templates/stats.html:78
msgid "Email settings not configured"
-msgstr ""
+msgstr "电子邮件设置未配置"
#: templates/yesnolabel.html:4
msgid "Yes"
-msgstr ""
+msgstr "确定"
#: templates/yesnolabel.html:6
msgid "No"
-msgstr ""
+msgstr "取消"
#: users/admin.py:90
msgid "Users"
-msgstr ""
+msgstr "用户"
#: users/admin.py:91
msgid "Select which users are assigned to this group"
-msgstr ""
+msgstr "选择分配给该组的用户"
#: users/admin.py:226
msgid "The following users are members of multiple groups"
@@ -13316,17 +13335,17 @@ msgstr ""
#: users/admin.py:253
msgid "Personal info"
-msgstr ""
+msgstr "个人资料"
#: users/admin.py:254
msgid "Permissions"
-msgstr ""
+msgstr "权限"
#: users/admin.py:257
msgid "Important dates"
-msgstr ""
+msgstr "重要日期"
-#: users/authentication.py:29 users/models.py:112
+#: users/authentication.py:29 users/models.py:129
msgid "Token has been revoked"
msgstr ""
@@ -13334,67 +13353,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:53
+#: users/models.py:70
msgid "API Token"
msgstr ""
-#: users/models.py:54
+#: users/models.py:71
msgid "API Tokens"
msgstr ""
-#: users/models.py:92
+#: users/models.py:109
msgid "Token Name"
msgstr ""
-#: users/models.py:93
+#: users/models.py:110
msgid "Custom token name"
msgstr ""
-#: users/models.py:99
+#: users/models.py:116
msgid "Token expiry date"
msgstr ""
-#: users/models.py:105
+#: users/models.py:122
msgid "Last Seen"
msgstr ""
-#: users/models.py:106
+#: users/models.py:123
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:111
+#: users/models.py:128
msgid "Revoked"
msgstr ""
-#: users/models.py:376
+#: users/models.py:393
msgid "Permission set"
-msgstr ""
+msgstr "权限设置"
-#: users/models.py:384
+#: users/models.py:401
msgid "Group"
-msgstr ""
+msgstr "群组"
-#: users/models.py:387
+#: users/models.py:404
msgid "View"
-msgstr ""
+msgstr "视图"
-#: users/models.py:387
+#: users/models.py:404
msgid "Permission to view items"
-msgstr ""
+msgstr "查看项目权限"
-#: users/models.py:389
+#: users/models.py:406
msgid "Permission to add items"
-msgstr ""
+msgstr "添加项目权限"
-#: users/models.py:391
+#: users/models.py:408
msgid "Change"
-msgstr ""
+msgstr "更改"
-#: users/models.py:391
+#: users/models.py:408
msgid "Permissions to edit items"
-msgstr ""
+msgstr "编辑项目权限"
-#: users/models.py:393
+#: users/models.py:410
msgid "Permission to delete items"
-msgstr ""
+msgstr "删除项目权限"
diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
index 11cacf829e65..7bb79ac4174d 100644
--- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-13 12:13+0000\n"
+"POT-Creation-Date: 2023-11-15 12:36+0000\n"
"PO-Revision-Date: 2023-02-28 22:38\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -59,7 +59,7 @@ msgstr "输入日期"
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -132,7 +132,7 @@ msgstr "提供的电子邮件域未被核准。"
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr "提供的数量无效"
@@ -276,7 +276,7 @@ msgstr "选择附件"
#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -378,7 +378,7 @@ msgstr "名称"
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -456,35 +456,35 @@ msgstr "服务器错误"
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:61 part/models.py:3904
+#: InvenTree/serializers.py:60 part/models.py:3904
msgid "Must be a valid number"
msgstr "必须是有效数字"
-#: InvenTree/serializers.py:90 company/models.py:150
+#: InvenTree/serializers.py:89 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "货币"
-#: InvenTree/serializers.py:93
+#: InvenTree/serializers.py:92
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:427
+#: InvenTree/serializers.py:339
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:437
+#: InvenTree/serializers.py:349
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:454
+#: InvenTree/serializers.py:366
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:455
+#: InvenTree/serializers.py:367
#, python-brace-format
msgid ""
"Your account has been created.\n"
@@ -492,66 +492,66 @@ msgid ""
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:519
+#: InvenTree/serializers.py:431
msgid "Filename"
msgstr "文件名"
-#: InvenTree/serializers.py:556
+#: InvenTree/serializers.py:468
msgid "Invalid value"
msgstr "无效值"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:490
msgid "Data File"
msgstr "数据文件"
-#: InvenTree/serializers.py:579
+#: InvenTree/serializers.py:491
msgid "Select data file for upload"
msgstr "选择要上传的文件"
-#: InvenTree/serializers.py:600
+#: InvenTree/serializers.py:512
msgid "Unsupported file type"
msgstr "不支持的文件类型"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:518
msgid "File is too large"
msgstr "文件过大"
-#: InvenTree/serializers.py:627
+#: InvenTree/serializers.py:539
msgid "No columns found in file"
msgstr "在文件中没有找到列"
-#: InvenTree/serializers.py:630
+#: InvenTree/serializers.py:542
msgid "No data rows found in file"
msgstr "在文件中没有找到数据行"
-#: InvenTree/serializers.py:753
+#: InvenTree/serializers.py:665
msgid "No data rows provided"
msgstr "没有提供数据行"
-#: InvenTree/serializers.py:756
+#: InvenTree/serializers.py:668
msgid "No data columns supplied"
msgstr "没有提供数据列"
-#: InvenTree/serializers.py:833
+#: InvenTree/serializers.py:745
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "缺少必需的列:'{name}'"
-#: InvenTree/serializers.py:842
+#: InvenTree/serializers.py:754
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "复制列: '{col}'"
-#: InvenTree/serializers.py:867
+#: InvenTree/serializers.py:779
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:868
+#: InvenTree/serializers.py:780
msgid "URL of remote image file"
msgstr "远程图像文件的 URL"
-#: InvenTree/serializers.py:881
+#: InvenTree/serializers.py:793
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图像"
@@ -728,7 +728,7 @@ msgstr "已退回"
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -1029,8 +1029,8 @@ msgstr "上级生产选项无效"
msgid "Build Order Reference"
msgstr "相关生产订单"
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1062,7 +1062,7 @@ msgstr "此次生产匹配的订单"
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1190,7 +1190,7 @@ msgstr "预计完成日期"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr "完成日期:"
@@ -1273,41 +1273,41 @@ msgstr "生产订单 {build} 已完成"
msgid "A build order has been completed"
msgstr "生产订单已完成"
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr "未指定生产产出"
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr "生产产出已完成"
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr "生产产出与订单不匹配"
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
#, fuzzy
#| msgid "Quantity must be greater than zero"
msgid "Quantity cannot be greater than the output quantity"
msgstr "数量必须大于0"
-#: build/models.py:1266
+#: build/models.py:1274
#, fuzzy
#| msgid "Build Notes"
msgid "Build object"
msgstr "生产备注"
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1351,40 +1351,40 @@ msgstr "生产备注"
msgid "Quantity"
msgstr "数量"
-#: build/models.py:1281
+#: build/models.py:1289
#, fuzzy
#| msgid "Stock required for build order"
msgid "Required quantity for build order"
msgstr "生产订单所需的库存"
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的"
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})"
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr "库存物品分配过度!"
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr "分配数量必须大于0"
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr "序列化库存的数量必须是 1"
-#: build/models.py:1453
+#: build/models.py:1461
#, fuzzy
#| msgid "Selected stock item not found in BOM"
msgid "Selected stock item does not match BOM line"
msgstr "在BOM中找不到选定的库存项"
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1401,19 +1401,19 @@ msgstr "在BOM中找不到选定的库存项"
msgid "Stock Item"
msgstr "库存项"
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr "源库存项"
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr "分配到生产的数量"
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr "安装到"
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr "目标库存项"
@@ -1468,7 +1468,7 @@ msgstr "自动分配序列号"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "自动为所需项分配对应的序列号"
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr "以下序列号已存在或无效"
@@ -1523,8 +1523,8 @@ msgid "Location for completed build outputs"
msgstr "已完成生产产出的仓储地点"
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1822,7 +1822,7 @@ msgstr "库存尚未被完全分配到此构建订单"
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1859,8 +1859,8 @@ msgid "Completed Outputs"
msgstr "已完成输出"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1914,7 +1914,7 @@ msgstr "库存来源"
msgid "Stock can be taken from any available location."
msgstr "库存可以从任何可用的地点获得。"
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr "目的地"
@@ -3502,7 +3502,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
@@ -3685,21 +3685,30 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
#, fuzzy
#| msgid "Received against purchase order"
msgid "Items have been received against a return order"
msgstr "收到定购单"
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -4027,9 +4036,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4194,8 +4203,8 @@ msgstr "从 URL 下载图片"
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4696,7 +4705,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4710,7 +4719,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4759,7 +4768,7 @@ msgstr "描述 (可选)"
msgid "Select project code for this order"
msgstr "负责此订单的用户或群组"
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4787,11 +4796,11 @@ msgstr "此构建订单的优先级"
msgid "Company address for this order"
msgstr "负责此订单的用户或群组"
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4812,15 +4821,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4828,103 +4837,103 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr "数量必须大于0"
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr "向其出售该商品的公司"
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
#, fuzzy
#| msgid "Build Order is ready to mark as completed"
msgid "Only an open order can be marked as complete"
msgstr "构建订单已准备好标记为已完成"
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
#, fuzzy
#| msgid "Description (optional)"
msgid "Line item description (optional)"
msgstr "描述 (可选)"
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr "供应商商品"
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4934,191 +4943,191 @@ msgstr "供应商商品"
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr "采购价格"
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr "销售价格"
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
#, fuzzy
#| msgid "Build Order Reference"
msgid "Return Order reference"
msgstr "相关生产订单"
-#: order/models.py:1737
+#: order/models.py:1753
#, fuzzy
#| msgid "Company from which the items are being ordered"
msgid "Company from which items are being returned"
msgstr "订购该商品的公司"
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
#, fuzzy
#| msgid "Returned from customer"
msgid "Select item to return from customer"
msgstr "从客户退货"
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -7548,84 +7557,84 @@ msgstr "未指定操作"
msgid "No matching action found"
msgstr "未找到指定操作"
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr "未找到匹配条形码数据"
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr "找到匹配条形码数据"
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
#, fuzzy
#| msgid "Create new purchase order"
msgid "Invalid purchase order"
msgstr "新建采购订单"
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
#, fuzzy
#| msgid "Stock Location"
msgid "Invalid stock location"
msgstr "仓储地点"
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
#, fuzzy
#| msgid "This build output has already been completed"
msgid "Item has already been received"
msgstr "此生产产出已经完成"
-#: plugin/base/barcodes/api.py:314
+#: plugin/base/barcodes/api.py:343
#, fuzzy
-#| msgid "Enter barcode data"
-msgid "Invalid supplier barcode"
-msgstr "输入条形码数据"
+#| msgid "No match found for barcode data"
+msgid "No match for supplier barcode"
+msgstr "未找到匹配条形码数据"
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
#, fuzzy
#| msgid "Received against purchase order"
msgid "Received purchase order line item"
msgstr "收到定购单"
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7643,8 +7652,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7754,63 +7763,63 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
#, fuzzy
#| msgid "Part(s) must be selected before printing labels"
msgid "Provides support for scanning DigiKey barcodes"
msgstr "打印标签前必须选择商品"
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
#, fuzzy
#| msgid "Supplier part description"
msgid "Supplier Integration - LCSC"
msgstr "供应商商品描述"
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
#, fuzzy
#| msgid "Part(s) must be selected before printing labels"
msgid "Provides support for scanning LCSC barcodes"
msgstr "打印标签前必须选择商品"
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
#, fuzzy
#| msgid "Part(s) must be selected before printing labels"
msgid "Provides support for scanning Mouser barcodes"
msgstr "打印标签前必须选择商品"
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
#, fuzzy
#| msgid "Supplier part description"
msgid "Supplier Integration - TME"
msgstr "供应商商品描述"
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
#, fuzzy
#| msgid "Part(s) must be selected before printing labels"
msgid "Provides support for scanning TME barcodes"
msgstr "打印标签前必须选择商品"
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7994,19 +8003,19 @@ msgstr ""
msgid "Test report"
msgstr ""
-#: report/helpers.py:13
+#: report/helpers.py:15
msgid "A4"
msgstr ""
-#: report/helpers.py:14
+#: report/helpers.py:16
msgid "A3"
msgstr ""
-#: report/helpers.py:15
+#: report/helpers.py:17
msgid "Legal"
msgstr ""
-#: report/helpers.py:16
+#: report/helpers.py:18
msgid "Letter"
msgstr ""
@@ -8219,6 +8228,24 @@ msgstr ""
msgid "Serial"
msgstr ""
+#: report/templatetags/report.py:95
+msgid "Asset file does not exist"
+msgstr ""
+
+#: report/templatetags/report.py:144 report/templatetags/report.py:209
+#, fuzzy
+#| msgid "Part image not found"
+msgid "Image file not found"
+msgstr "未找到商品图像"
+
+#: report/templatetags/report.py:230
+msgid "part_image tag requires a Part instance"
+msgstr ""
+
+#: report/templatetags/report.py:269
+msgid "company_image tag requires a Company instance"
+msgstr ""
+
#: stock/admin.py:40 stock/admin.py:126
msgid "Location ID"
msgstr ""
@@ -8295,23 +8322,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -9654,7 +9681,7 @@ msgid "Edit"
msgstr "编辑"
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
#: templates/js/translated/stock.js:245 users/models.py:393
msgid "Delete"
@@ -9788,7 +9815,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -10144,7 +10171,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
msgid "Confirm"
msgstr "确认"
@@ -10345,6 +10372,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -11141,7 +11169,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159
+#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11596,40 +11624,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:788
+#: templates/js/translated/forms.js:772
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:891
+#: templates/js/translated/forms.js:874
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1461 templates/modals.html:19
+#: templates/js/translated/forms.js:1422 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1959
+#: templates/js/translated/forms.js:1876
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2477
+#: templates/js/translated/forms.js:2394
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:3075
+#: templates/js/translated/forms.js:2863
msgid "Select Columns"
msgstr ""
@@ -11693,35 +11721,35 @@ msgstr "已拒绝"
msgid "Printing Options"
msgstr "打印操作"
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
#, fuzzy
#| msgid "Print labels"
msgid "Print label"
msgstr "打印标签"
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print labels"
msgstr "打印标签"
-#: templates/js/translated/label.js:149
+#: templates/js/translated/label.js:144
#, fuzzy
#| msgid "Print Label"
msgid "Print"
msgstr "打印标签"
-#: templates/js/translated/label.js:155
+#: templates/js/translated/label.js:150
#, fuzzy
#| msgid "Select Label Template"
msgid "Select label template"
msgstr "选择标签模板"
-#: templates/js/translated/label.js:168
+#: templates/js/translated/label.js:163
#, fuzzy
#| msgid "Select supplier"
msgid "Select plugin"
msgstr "选择供应商"
-#: templates/js/translated/label.js:187
+#: templates/js/translated/label.js:182
msgid "Labels sent to printer"
msgstr ""
@@ -14000,6 +14028,11 @@ msgstr "编辑项目权限"
msgid "Permission to delete items"
msgstr "删除项目权限"
+#, fuzzy
+#~| msgid "Enter barcode data"
+#~ msgid "Invalid supplier barcode"
+#~ msgstr "输入条形码数据"
+
#, fuzzy
#~| msgid "Part QR Code"
#~ msgid "QC Code"
diff --git a/InvenTree/locale/zh_hant/LC_MESSAGES/django.po b/InvenTree/locale/zh_hant/LC_MESSAGES/django.po
index e9d8c144f0fd..1d88076fba42 100644
--- a/InvenTree/locale/zh_hant/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh_hant/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-11-13 12:13+0000\n"
+"POT-Creation-Date: 2023-11-15 12:36+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -55,7 +55,7 @@ msgstr ""
#: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433
#: build/serializers.py:511 build/templates/build/sidebar.html:21
#: company/models.py:732 company/templates/company/sidebar.html:37
-#: order/models.py:1088 order/templates/order/po_sidebar.html:11
+#: order/models.py:1104 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:3009 part/templates/part/part_sidebar.html:63
@@ -128,7 +128,7 @@ msgstr ""
msgid "Registration is disabled."
msgstr ""
-#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615
+#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623
msgid "Invalid quantity provided"
msgstr ""
@@ -267,7 +267,7 @@ msgstr ""
#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128
#: company/models.py:386 company/models.py:440 company/models.py:719
-#: order/models.py:234 order/models.py:1092 order/models.py:1450
+#: order/models.py:234 order/models.py:1108 order/models.py:1466
#: part/admin.py:39 part/models.py:868
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
@@ -369,7 +369,7 @@ msgstr ""
#: company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:123
-#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272
+#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272
#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82
#: part/templates/part/part_base.html:170
#: part/templates/part/part_scheduling.html:12 report/models.py:183
@@ -445,35 +445,35 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:61 part/models.py:3904
+#: InvenTree/serializers.py:60 part/models.py:3904
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:90 company/models.py:150
+#: InvenTree/serializers.py:89 company/models.py:150
#: company/templates/company/company_base.html:106 part/models.py:2856
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:93
+#: InvenTree/serializers.py:92
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:427
+#: InvenTree/serializers.py:339
msgid "You do not have permission to change this user role."
msgstr ""
-#: InvenTree/serializers.py:437
+#: InvenTree/serializers.py:349
msgid "Only superusers can create new users"
msgstr ""
-#: InvenTree/serializers.py:454
+#: InvenTree/serializers.py:366
#, python-brace-format
msgid "Welcome to {current_site.name}"
msgstr ""
-#: InvenTree/serializers.py:455
+#: InvenTree/serializers.py:367
#, python-brace-format
msgid ""
"Your account has been created.\n"
@@ -481,66 +481,66 @@ msgid ""
"Please use the password reset function to get access (at https://{domain})."
msgstr ""
-#: InvenTree/serializers.py:519
+#: InvenTree/serializers.py:431
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:556
+#: InvenTree/serializers.py:468
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:490
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:579
+#: InvenTree/serializers.py:491
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:600
+#: InvenTree/serializers.py:512
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:518
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:627
+#: InvenTree/serializers.py:539
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:630
+#: InvenTree/serializers.py:542
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:753
+#: InvenTree/serializers.py:665
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:756
+#: InvenTree/serializers.py:668
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:833
+#: InvenTree/serializers.py:745
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:842
+#: InvenTree/serializers.py:754
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:867
+#: InvenTree/serializers.py:779
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:868
+#: InvenTree/serializers.py:780
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:881
+#: InvenTree/serializers.py:793
msgid "Downloading images from remote URL is not enabled"
msgstr ""
@@ -713,7 +713,7 @@ msgstr ""
msgid "In Progress"
msgstr ""
-#: InvenTree/status_codes.py:42 order/models.py:1329
+#: InvenTree/status_codes.py:42 order/models.py:1345
#: templates/js/translated/sales_order.js:1523
#: templates/js/translated/sales_order.js:1644
#: templates/js/translated/sales_order.js:1957
@@ -994,8 +994,8 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:167 order/models.py:363 order/models.py:768
-#: order/models.py:1086 order/models.py:1722 part/admin.py:274
+#: build/models.py:167 order/models.py:363 order/models.py:776
+#: order/models.py:1102 order/models.py:1738 part/admin.py:274
#: part/models.py:3805 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
@@ -1025,7 +1025,7 @@ msgstr ""
#: build/models.py:192 build/templates/build/build_base.html:97
#: build/templates/build/detail.html:29 company/models.py:907
-#: order/models.py:1193 order/models.py:1308 order/models.py:1309
+#: order/models.py:1209 order/models.py:1324 order/models.py:1325
#: part/models.py:365 part/models.py:2869 part/models.py:2983
#: part/models.py:3120 part/models.py:3139 part/models.py:3158
#: part/models.py:3179 part/models.py:3271 part/models.py:3545
@@ -1153,7 +1153,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:272 order/models.py:413 order/models.py:1765
+#: build/models.py:272 order/models.py:413 order/models.py:1781
#: templates/js/translated/build.js:2235
msgid "Completion Date"
msgstr ""
@@ -1232,37 +1232,37 @@ msgstr ""
msgid "A build order has been completed"
msgstr ""
-#: build/models.py:768 build/models.py:843
+#: build/models.py:776 build/models.py:851
msgid "No build output specified"
msgstr ""
-#: build/models.py:771
+#: build/models.py:779
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:774
+#: build/models.py:782
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:847 build/serializers.py:218 build/serializers.py:257
+#: build/models.py:855 build/serializers.py:218 build/serializers.py:257
#: build/serializers.py:815 order/models.py:444 order/serializers.py:389
#: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558
#: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/models.py:852 build/serializers.py:223
+#: build/models.py:860 build/serializers.py:223
msgid "Quantity cannot be greater than the output quantity"
msgstr ""
-#: build/models.py:1266
+#: build/models.py:1274
msgid "Build object"
msgstr ""
-#: build/models.py:1280 build/models.py:1538 build/serializers.py:205
+#: build/models.py:1288 build/models.py:1546 build/serializers.py:205
#: build/serializers.py:242 build/templates/build/build_base.html:102
#: build/templates/build/detail.html:34 common/models.py:2343
-#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267
+#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
#: part/forms.py:47 part/models.py:2996 part/models.py:3786
#: part/templates/part/part_pricing.html:16
@@ -1306,36 +1306,36 @@ msgstr ""
msgid "Quantity"
msgstr ""
-#: build/models.py:1281
+#: build/models.py:1289
msgid "Required quantity for build order"
msgstr ""
-#: build/models.py:1361
+#: build/models.py:1369
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1370
+#: build/models.py:1378
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1380 order/models.py:1600
+#: build/models.py:1388 order/models.py:1616
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1386 order/models.py:1603
+#: build/models.py:1394 order/models.py:1619
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1392
+#: build/models.py:1400
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1453
+#: build/models.py:1461
msgid "Selected stock item does not match BOM line"
msgstr ""
-#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095
+#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095
#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
#: stock/serializers.py:1115 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
@@ -1352,19 +1352,19 @@ msgstr ""
msgid "Stock Item"
msgstr ""
-#: build/models.py:1526
+#: build/models.py:1534
msgid "Source stock item"
msgstr ""
-#: build/models.py:1539
+#: build/models.py:1547
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1547
+#: build/models.py:1555
msgid "Install into"
msgstr ""
-#: build/models.py:1548
+#: build/models.py:1556
msgid "Destination stock item"
msgstr ""
@@ -1419,7 +1419,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:332 stock/api.py:788
+#: build/serializers.py:332 stock/api.py:791
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1468,8 +1468,8 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:500 build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:62 order/models.py:794
-#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124
+#: build/templates/build/detail.html:62 order/models.py:802
+#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124
#: stock/serializers.py:726 stock/serializers.py:1289
#: stock/templates/stock/item_base.html:427
#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
@@ -1761,7 +1761,7 @@ msgstr ""
#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:138 order/models.py:238
-#: order/models.py:1098 order/templates/order/order_base.html:186
+#: order/models.py:1114 order/templates/order/order_base.html:186
#: order/templates/order/return_order_base.html:164
#: order/templates/order/sales_order_base.html:192
#: report/templates/report/inventree_build_order_base.html:125
@@ -1798,8 +1798,8 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301
-#: order/models.py:1400 order/models.py:1548
+#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317
+#: order/models.py:1416 order/models.py:1564
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
@@ -1849,7 +1849,7 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1220
+#: build/templates/build/detail.html:49 order/models.py:1236
#: templates/js/translated/purchase_order.js:2183
msgid "Destination"
msgstr ""
@@ -3386,7 +3386,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:2351 company/serializers.py:484 order/admin.py:41
-#: order/models.py:1131 order/models.py:1933
+#: order/models.py:1147 order/models.py:1957
#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
@@ -3559,19 +3559,28 @@ msgstr ""
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:298 common/notifications.py:305
-msgid "Items Received"
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
msgstr ""
#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:307
+#: common/notifications.py:315
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:419
+#: common/notifications.py:427
msgid "Error raised by plugin"
msgstr ""
@@ -3879,9 +3888,9 @@ msgstr ""
#: company/models.py:699 company/templates/company/company_base.html:81
#: company/templates/company/supplier_part.html:129 order/models.py:386
#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
-#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29
-#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29
-#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224
+#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
#: templates/js/translated/company.js:510
@@ -4044,8 +4053,8 @@ msgstr ""
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:782
-#: order/models.py:1736 order/templates/order/return_order_base.html:131
+#: company/templates/company/company_base.html:86 order/models.py:790
+#: order/models.py:1752 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:754
#: stock/models.py:755 stock/serializers.py:1044
#: stock/templates/stock/item_base.html:405
@@ -4524,7 +4533,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1408 order/models.py:1177 order/models.py:1260
+#: order/api.py:1408 order/models.py:1193 order/models.py:1276
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4538,7 +4547,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1412 order/models.py:1903 order/models.py:1949
+#: order/api.py:1412 order/models.py:1927 order/models.py:1973
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -4575,7 +4584,7 @@ msgstr ""
msgid "Select project code for this order"
msgstr ""
-#: order/models.py:234 order/models.py:1093 order/models.py:1451
+#: order/models.py:234 order/models.py:1109 order/models.py:1467
msgid "Link to external page"
msgstr ""
@@ -4599,11 +4608,11 @@ msgstr ""
msgid "Company address for this order"
msgstr ""
-#: order/models.py:364 order/models.py:769
+#: order/models.py:364 order/models.py:777
msgid "Order reference"
msgstr ""
-#: order/models.py:372 order/models.py:794
+#: order/models.py:372 order/models.py:802
msgid "Purchase order status"
msgstr ""
@@ -4624,15 +4633,15 @@ msgstr ""
msgid "received by"
msgstr ""
-#: order/models.py:407 order/models.py:1759
+#: order/models.py:407 order/models.py:1775
msgid "Issue Date"
msgstr ""
-#: order/models.py:408 order/models.py:1760
+#: order/models.py:408 order/models.py:1776
msgid "Date order was issued"
msgstr ""
-#: order/models.py:414 order/models.py:1766
+#: order/models.py:414 order/models.py:1782
msgid "Date order was completed"
msgstr ""
@@ -4640,99 +4649,99 @@ msgstr ""
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:610
+#: order/models.py:618
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:783
+#: order/models.py:791
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:802 order/models.py:1753
+#: order/models.py:810 order/models.py:1769
msgid "Customer Reference "
msgstr ""
-#: order/models.py:802 order/models.py:1754
+#: order/models.py:810 order/models.py:1770
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:804 order/models.py:1405
+#: order/models.py:812 order/models.py:1421
#: templates/js/translated/sales_order.js:843
#: templates/js/translated/sales_order.js:1024
msgid "Shipment Date"
msgstr ""
-#: order/models.py:811
+#: order/models.py:819
msgid "shipped by"
msgstr ""
-#: order/models.py:860
+#: order/models.py:868
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:864
+#: order/models.py:872
msgid "Only an open order can be marked as complete"
msgstr ""
-#: order/models.py:867 templates/js/translated/sales_order.js:506
+#: order/models.py:875 templates/js/translated/sales_order.js:506
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:870
+#: order/models.py:878
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:1074
+#: order/models.py:1090
msgid "Item quantity"
msgstr ""
-#: order/models.py:1086
+#: order/models.py:1102
msgid "Line item reference"
msgstr ""
-#: order/models.py:1088
+#: order/models.py:1104
msgid "Line item notes"
msgstr ""
-#: order/models.py:1099
+#: order/models.py:1115
msgid "Target date for this line item (leave blank to use the target date from the order)"
msgstr ""
-#: order/models.py:1117
+#: order/models.py:1133
msgid "Line item description (optional)"
msgstr ""
-#: order/models.py:1122
+#: order/models.py:1138
msgid "Context"
msgstr ""
-#: order/models.py:1123
+#: order/models.py:1139
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:1132
+#: order/models.py:1148
msgid "Unit price"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1178
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1186
msgid "deleted"
msgstr ""
-#: order/models.py:1176 order/models.py:1260 order/models.py:1300
-#: order/models.py:1399 order/models.py:1548 order/models.py:1902
-#: order/models.py:1949 templates/js/translated/sales_order.js:1488
+#: order/models.py:1192 order/models.py:1276 order/models.py:1316
+#: order/models.py:1415 order/models.py:1564 order/models.py:1926
+#: order/models.py:1973 templates/js/translated/sales_order.js:1488
msgid "Order"
msgstr ""
-#: order/models.py:1194
+#: order/models.py:1210
msgid "Supplier part"
msgstr ""
-#: order/models.py:1201 order/templates/order/order_base.html:196
+#: order/models.py:1217 order/templates/order/order_base.html:196
#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
#: templates/js/translated/purchase_order.js:1302
#: templates/js/translated/purchase_order.js:2163
@@ -4742,185 +4751,185 @@ msgstr ""
msgid "Received"
msgstr ""
-#: order/models.py:1202
+#: order/models.py:1218
msgid "Number of items received"
msgstr ""
-#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319
+#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319
#: stock/templates/stock/item_base.html:183
#: templates/js/translated/stock.js:2281
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1210
+#: order/models.py:1226
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1223
+#: order/models.py:1239
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1288
+#: order/models.py:1304
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1293
+#: order/models.py:1309
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1319 part/templates/part/part_pricing.html:107
+#: order/models.py:1335 part/templates/part/part_pricing.html:107
#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957
msgid "Sale Price"
msgstr ""
-#: order/models.py:1320
+#: order/models.py:1336
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1330
+#: order/models.py:1346
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1406
+#: order/models.py:1422
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1411 templates/js/translated/sales_order.js:1036
+#: order/models.py:1427 templates/js/translated/sales_order.js:1036
msgid "Delivery Date"
msgstr ""
-#: order/models.py:1412
+#: order/models.py:1428
msgid "Date of delivery of shipment"
msgstr ""
-#: order/models.py:1419
+#: order/models.py:1435
msgid "Checked By"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1436
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282
+#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282
#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
msgid "Shipment"
msgstr ""
-#: order/models.py:1428
+#: order/models.py:1444
msgid "Shipment number"
msgstr ""
-#: order/models.py:1436
+#: order/models.py:1452
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1453
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1444
+#: order/models.py:1460
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1445
+#: order/models.py:1461
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1467
+#: order/models.py:1483
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1470
+#: order/models.py:1486
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1583 order/models.py:1585
+#: order/models.py:1599 order/models.py:1601
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1591
+#: order/models.py:1607
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1593
+#: order/models.py:1609
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1596
+#: order/models.py:1612
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1606 order/serializers.py:1146
+#: order/models.py:1622 order/serializers.py:1146
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1609
+#: order/models.py:1625
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1610
+#: order/models.py:1626
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1618
+#: order/models.py:1634
msgid "Line"
msgstr ""
-#: order/models.py:1627
+#: order/models.py:1643
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1640 order/models.py:1910
+#: order/models.py:1656 order/models.py:1934
#: templates/js/translated/return_order.js:722
msgid "Item"
msgstr ""
-#: order/models.py:1641
+#: order/models.py:1657
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1644
+#: order/models.py:1660
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/models.py:1723
+#: order/models.py:1739
msgid "Return Order reference"
msgstr ""
-#: order/models.py:1737
+#: order/models.py:1753
msgid "Company from which items are being returned"
msgstr ""
-#: order/models.py:1748
+#: order/models.py:1764
msgid "Return order status"
msgstr ""
-#: order/models.py:1895
+#: order/models.py:1919
msgid "Only serialized items can be assigned to a Return Order"
msgstr ""
-#: order/models.py:1911
+#: order/models.py:1935
msgid "Select item to return from customer"
msgstr ""
-#: order/models.py:1916
+#: order/models.py:1940
msgid "Received Date"
msgstr ""
-#: order/models.py:1917
+#: order/models.py:1941
msgid "The date this this return item was received"
msgstr ""
-#: order/models.py:1928 templates/js/translated/return_order.js:733
+#: order/models.py:1952 templates/js/translated/return_order.js:733
#: templates/js/translated/table_filters.js:123
msgid "Outcome"
msgstr ""
-#: order/models.py:1928
+#: order/models.py:1952
msgid "Outcome for this line item"
msgstr ""
-#: order/models.py:1934
+#: order/models.py:1958
msgid "Cost associated with return or repair for this line item"
msgstr ""
@@ -7295,74 +7304,74 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111
-#: plugin/base/barcodes/api.py:269
+#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123
+#: plugin/base/barcodes/api.py:282
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:82
+#: plugin/base/barcodes/api.py:94
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:86
+#: plugin/base/barcodes/api.py:98
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:121
+#: plugin/base/barcodes/api.py:133
#: templates/js/translated/purchase_order.js:1402
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:217
+#: plugin/base/barcodes/api.py:229
msgid "No match found for provided value"
msgstr ""
-#: plugin/base/barcodes/api.py:275
+#: plugin/base/barcodes/api.py:291
msgid "Invalid purchase order"
msgstr ""
-#: plugin/base/barcodes/api.py:281
+#: plugin/base/barcodes/api.py:297
msgid "Invalid stock location"
msgstr ""
-#: plugin/base/barcodes/api.py:292
+#: plugin/base/barcodes/api.py:308
msgid "Item has already been received"
msgstr ""
-#: plugin/base/barcodes/api.py:314
-msgid "Invalid supplier barcode"
+#: plugin/base/barcodes/api.py:343
+msgid "No match for supplier barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:170
-msgid "Supplier barcode doesn't contain order number"
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
msgstr ""
-#: plugin/base/barcodes/mixins.py:183
+#: plugin/base/barcodes/mixins.py:198
#, python-brace-format
-msgid "Found multiple placed purchase orders for '{order_number}'"
+msgid "Found multiple purchase orders matching '{order}'"
msgstr ""
-#: plugin/base/barcodes/mixins.py:185
+#: plugin/base/barcodes/mixins.py:201
#, python-brace-format
-msgid "Failed to find placed purchase order for '{order_number}'"
+msgid "No matching purchase order for '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:207
+msgid "Purchase order does not match supplier"
msgstr ""
-#: plugin/base/barcodes/mixins.py:215
+#: plugin/base/barcodes/mixins.py:436
msgid "Failed to find pending line item for supplier part"
msgstr ""
-#: plugin/base/barcodes/mixins.py:248
+#: plugin/base/barcodes/mixins.py:469
msgid "Further information required to receive line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:259
+#: plugin/base/barcodes/mixins.py:480
msgid "Received purchase order line item"
msgstr ""
-#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324
-msgid "Found multiple matching supplier parts for barcode"
-msgstr ""
-
#: plugin/base/label/label.py:40
msgid "Label printing failed"
msgstr ""
@@ -7380,8 +7389,8 @@ msgstr ""
#: plugin/builtin/integration/currency_exchange.py:22
#: plugin/builtin/labels/inventree_label.py:23
#: plugin/builtin/labels/label_sheet.py:56
-#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25
-#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
msgid "InvenTree contributors"
msgstr ""
@@ -7483,51 +7492,51 @@ msgstr ""
msgid "No labels were generated"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:21
+#: plugin/builtin/suppliers/digikey.py:16
msgid "Supplier Integration - DigiKey"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:22
+#: plugin/builtin/suppliers/digikey.py:17
msgid "Provides support for scanning DigiKey barcodes"
msgstr ""
-#: plugin/builtin/suppliers/digikey.py:30
+#: plugin/builtin/suppliers/digikey.py:26
msgid "The Supplier which acts as 'DigiKey'"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:22
+#: plugin/builtin/suppliers/lcsc.py:18
msgid "Supplier Integration - LCSC"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:23
+#: plugin/builtin/suppliers/lcsc.py:19
msgid "Provides support for scanning LCSC barcodes"
msgstr ""
-#: plugin/builtin/suppliers/lcsc.py:31
+#: plugin/builtin/suppliers/lcsc.py:27
msgid "The Supplier which acts as 'LCSC'"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:21
+#: plugin/builtin/suppliers/mouser.py:16
msgid "Supplier Integration - Mouser"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:22
+#: plugin/builtin/suppliers/mouser.py:17
msgid "Provides support for scanning Mouser barcodes"
msgstr ""
-#: plugin/builtin/suppliers/mouser.py:30
+#: plugin/builtin/suppliers/mouser.py:25
msgid "The Supplier which acts as 'Mouser'"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:22
+#: plugin/builtin/suppliers/tme.py:18
msgid "Supplier Integration - TME"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:23
+#: plugin/builtin/suppliers/tme.py:19
msgid "Provides support for scanning TME barcodes"
msgstr ""
-#: plugin/builtin/suppliers/tme.py:31
+#: plugin/builtin/suppliers/tme.py:27
msgid "The Supplier which acts as 'TME'"
msgstr ""
@@ -7706,19 +7715,19 @@ msgstr ""
msgid "Test report"
msgstr ""
-#: report/helpers.py:13
+#: report/helpers.py:15
msgid "A4"
msgstr ""
-#: report/helpers.py:14
+#: report/helpers.py:16
msgid "A3"
msgstr ""
-#: report/helpers.py:15
+#: report/helpers.py:17
msgid "Legal"
msgstr ""
-#: report/helpers.py:16
+#: report/helpers.py:18
msgid "Letter"
msgstr ""
@@ -7921,6 +7930,22 @@ msgstr ""
msgid "Serial"
msgstr ""
+#: report/templatetags/report.py:95
+msgid "Asset file does not exist"
+msgstr ""
+
+#: report/templatetags/report.py:144 report/templatetags/report.py:209
+msgid "Image file not found"
+msgstr ""
+
+#: report/templatetags/report.py:230
+msgid "part_image tag requires a Part instance"
+msgstr ""
+
+#: report/templatetags/report.py:269
+msgid "company_image tag requires a Company instance"
+msgstr ""
+
#: stock/admin.py:40 stock/admin.py:126
msgid "Location ID"
msgstr ""
@@ -7993,23 +8018,23 @@ msgstr ""
msgid "External Location"
msgstr ""
-#: stock/api.py:693
+#: stock/api.py:696
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:700
+#: stock/api.py:703
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:728
+#: stock/api.py:731
msgid "The given supplier part does not exist"
msgstr ""
-#: stock/api.py:737
+#: stock/api.py:740
msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
msgstr ""
-#: stock/api.py:760
+#: stock/api.py:763
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
@@ -9306,7 +9331,7 @@ msgid "Edit"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
-#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105
+#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
#: templates/js/translated/stock.js:245 users/models.py:393
msgid "Delete"
@@ -9412,7 +9437,7 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/sidebar.html:15
-#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543
+#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543
#: templates/navbar.html:107 templates/search.html:8
#: templates/search_form.html:6 templates/search_form.html:7
msgid "Search"
@@ -9760,7 +9785,7 @@ msgstr ""
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746
msgid "Confirm"
msgstr ""
@@ -9961,6 +9986,7 @@ msgid "There are pending database migrations which require attention"
msgstr ""
#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
#: templates/email/new_order_assigned.html:9
#: templates/email/overdue_build_order.html:9
#: templates/email/overdue_purchase_order.html:9
@@ -10713,7 +10739,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
-#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159
+#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076
#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
msgid "Select"
@@ -11114,40 +11140,40 @@ msgstr ""
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:788
+#: templates/js/translated/forms.js:772
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:891
+#: templates/js/translated/forms.js:874
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1461 templates/modals.html:19
+#: templates/js/translated/forms.js:1422 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1959
+#: templates/js/translated/forms.js:1876
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239
+#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2477
+#: templates/js/translated/forms.js:2394
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:3063
+#: templates/js/translated/forms.js:2851
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:3075
+#: templates/js/translated/forms.js:2863
msgid "Select Columns"
msgstr ""
@@ -11199,27 +11225,27 @@ msgstr ""
msgid "Printing Options"
msgstr ""
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print label"
msgstr ""
-#: templates/js/translated/label.js:148
+#: templates/js/translated/label.js:143
msgid "Print labels"
msgstr ""
-#: templates/js/translated/label.js:149
+#: templates/js/translated/label.js:144
msgid "Print"
msgstr ""
-#: templates/js/translated/label.js:155
+#: templates/js/translated/label.js:150
msgid "Select label template"
msgstr ""
-#: templates/js/translated/label.js:168
+#: templates/js/translated/label.js:163
msgid "Select plugin"
msgstr ""
-#: templates/js/translated/label.js:187
+#: templates/js/translated/label.js:182
msgid "Labels sent to printer"
msgstr ""
diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po
index d3c483467804..306294dff78d 100644
--- a/src/frontend/src/locales/bg/messages.po
+++ b/src/frontend/src/locales/bg/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: bg\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po
index 47bbaca796ba..5674dcca2493 100644
--- a/src/frontend/src/locales/cs/messages.po
+++ b/src/frontend/src/locales/cs/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: cs\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po
index 217f7ebc3baf..4dfb81bb198c 100644
--- a/src/frontend/src/locales/da/messages.po
+++ b/src/frontend/src/locales/da/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: da\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po
index 18573149d29d..e92ad8425aaf 100644
--- a/src/frontend/src/locales/de/messages.po
+++ b/src/frontend/src/locales/de/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-18 23:07\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -707,7 +707,7 @@ msgstr ""
#: src/components/tables/stock/StockItemTable.tsx:27
#: src/pages/part/PartDetail.tsx:328
msgid "Part"
-msgstr ""
+msgstr "Teil"
#: src/components/render/ModelType.tsx:21
#: src/components/tables/part/PartCategoryTable.tsx:36
@@ -821,11 +821,11 @@ msgstr ""
#: src/components/render/ModelType.tsx:102
msgid "Purchase Order Line"
-msgstr ""
+msgstr "Bestellposition"
#: src/components/render/ModelType.tsx:103
msgid "Purchase Order Lines"
-msgstr ""
+msgstr "Bestellpositionen"
#: src/components/render/ModelType.tsx:107
#: src/components/tables/sales/SalesOrderTable.tsx:37
@@ -950,7 +950,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:60
#: src/pages/sales/SalesOrderDetail.tsx:46
msgid "Line Items"
-msgstr ""
+msgstr "Positionen"
#: src/components/tables/ColumnRenderers.tsx:78
msgid "Status"
@@ -1117,7 +1117,7 @@ msgstr ""
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:119
#: src/components/tables/purchasing/PurchaseOrderTable.tsx:40
msgid "Reference"
-msgstr ""
+msgstr "Referenz"
#: src/components/tables/bom/BomTable.tsx:110
msgid "Substitutes"
@@ -1206,7 +1206,7 @@ msgstr ""
#: src/pages/sales/SalesOrderDetail.tsx:78
#: src/pages/stock/StockDetail.tsx:120
msgid "Notes"
-msgstr ""
+msgstr "Notizen"
#: src/components/tables/bom/BomTable.tsx:256
msgid "View BOM"
@@ -1214,7 +1214,7 @@ msgstr ""
#: src/components/tables/bom/BomTable.tsx:267
msgid "Validate BOM line"
-msgstr ""
+msgstr "Stücklisten-Position bestätigen"
#: src/components/tables/bom/BomTable.tsx:275
msgid "Edit Substitutes"
@@ -1701,7 +1701,7 @@ msgstr ""
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55
msgid "Receive line item"
-msgstr ""
+msgstr "Position empfangen"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55
#~ msgid "Receive"
@@ -1709,66 +1709,66 @@ msgstr ""
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:76
msgid "Edit Line Item"
-msgstr ""
+msgstr "Position bearbeiten"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:79
msgid "Line item updated"
-msgstr ""
+msgstr "Position aktualisiert"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:112
msgid "Part Description"
-msgstr ""
+msgstr "Teilebeschreibung"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173
#: src/components/tables/purchasing/SupplierPartTable.tsx:105
#: src/components/tables/purchasing/SupplierPartTable.tsx:125
msgid "Pack Quantity"
-msgstr ""
+msgstr "Verpackungsmenge"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
msgid "Total Quantity"
-msgstr ""
+msgstr "Gesamtmenge"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:159
msgid "Received"
-msgstr ""
+msgstr "Erhalten"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:178
msgid "Supplier Code"
-msgstr ""
+msgstr "Lieferantennummer"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:185
msgid "Supplier Link"
-msgstr ""
+msgstr "Lieferanten-Link"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:192
msgid "Manufacturer Code"
-msgstr ""
+msgstr "Herstellernummer"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:200
msgid "Unit Price"
-msgstr ""
+msgstr "Preis pro Einheit"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
msgid "Destination"
-msgstr ""
+msgstr "Bestimmungsort"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:224
msgid "Add Line Item"
-msgstr ""
+msgstr "Position hinzufügen"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:230
msgid "Line item added"
-msgstr ""
+msgstr "Position hinzugefügt"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:239
msgid "Add line item"
-msgstr ""
+msgstr "Position hinzufügen"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Receive items"
-msgstr ""
+msgstr "Erhaltene Artikel"
#: src/components/tables/purchasing/PurchaseOrderTable.tsx:48
#: src/components/tables/purchasing/SupplierPartTable.tsx:51
@@ -2620,15 +2620,15 @@ msgstr ""
#: src/forms/AttachmentForms.tsx:125
msgid "Delete Attachment"
-msgstr ""
+msgstr "Anhang löschen"
#: src/forms/AttachmentForms.tsx:126
msgid "Attachment deleted"
-msgstr ""
+msgstr "Anhang gelöscht"
#: src/forms/AttachmentForms.tsx:130
msgid "Are you sure you want to delete this attachment?"
-msgstr ""
+msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen möchten?"
#: src/forms/CompanyForms.tsx:99
msgid "Edit Company"
diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po
index da08a7db8572..569b42955878 100644
--- a/src/frontend/src/locales/el/messages.po
+++ b/src/frontend/src/locales/el/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: el\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po
index 6caeee2400ba..b0f9e1d0c7c7 100644
--- a/src/frontend/src/locales/es/messages.po
+++ b/src/frontend/src/locales/es/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: es_MX\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po
index e7fca114518d..bedd3c7818ba 100644
--- a/src/frontend/src/locales/fa/messages.po
+++ b/src/frontend/src/locales/fa/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fa\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:29\n"
+"PO-Revision-Date: 2023-11-15 23:00\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po
index 921c56e4151a..94ae84defd4b 100644
--- a/src/frontend/src/locales/fi/messages.po
+++ b/src/frontend/src/locales/fi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po
index ed2f17fad02a..c7cd1c1a5313 100644
--- a/src/frontend/src/locales/fr/messages.po
+++ b/src/frontend/src/locales/fr/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po
index f4f99b285503..8242b50a2975 100644
--- a/src/frontend/src/locales/he/messages.po
+++ b/src/frontend/src/locales/he/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: he\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po
index a16280ff2017..0848f31ce72a 100644
--- a/src/frontend/src/locales/hi/messages.po
+++ b/src/frontend/src/locales/hi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: hi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:29\n"
+"PO-Revision-Date: 2023-11-15 23:00\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po
index 98e114aa3ceb..f6dfa5187ef9 100644
--- a/src/frontend/src/locales/hu/messages.po
+++ b/src/frontend/src/locales/hu/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: hu\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po
index f1935cf08a72..17d795c1a35f 100644
--- a/src/frontend/src/locales/it/messages.po
+++ b/src/frontend/src/locales/it/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: it\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po
index 47391be09154..848cd0eefba0 100644
--- a/src/frontend/src/locales/ja/messages.po
+++ b/src/frontend/src/locales/ja/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ja\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po
index 8f1c2a195474..5b0a46a2f6a5 100644
--- a/src/frontend/src/locales/ko/messages.po
+++ b/src/frontend/src/locales/ko/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ko\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Plural-Forms: nplurals=1; plural=0;\n"
diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po
index c56a96cf2bb8..af7e3daf9459 100644
--- a/src/frontend/src/locales/nl/messages.po
+++ b/src/frontend/src/locales/nl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: nl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po
index 1ba527d518e7..fb5fde615afe 100644
--- a/src/frontend/src/locales/no/messages.po
+++ b/src/frontend/src/locales/no/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: no\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po
index b5c643b39e3b..0ef893ce85f4 100644
--- a/src/frontend/src/locales/pl/messages.po
+++ b/src/frontend/src/locales/pl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po
index 3d3db832e245..34d540ed236c 100644
--- a/src/frontend/src/locales/pt/messages.po
+++ b/src/frontend/src/locales/pt/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"PO-Revision-Date: 2023-11-16 23:16\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po
index 6cb18a2cef36..1c08d4de56a4 100644
--- a/src/frontend/src/locales/ru/messages.po
+++ b/src/frontend/src/locales/ru/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ru\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po
index 654cfa53573e..a987e527c52f 100644
--- a/src/frontend/src/locales/sl/messages.po
+++ b/src/frontend/src/locales/sl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po
index 11bfbe34527c..94b9693d5bb5 100644
--- a/src/frontend/src/locales/sv/messages.po
+++ b/src/frontend/src/locales/sv/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sv\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po
index ef28259ff5d0..5620d8865a8d 100644
--- a/src/frontend/src/locales/th/messages.po
+++ b/src/frontend/src/locales/th/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: th\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:29\n"
+"PO-Revision-Date: 2023-11-15 23:00\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Plural-Forms: nplurals=1; plural=0;\n"
diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po
index 1e8931dab2be..94f1d2c61bb0 100644
--- a/src/frontend/src/locales/tr/messages.po
+++ b/src/frontend/src/locales/tr/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: tr\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:28\n"
+"PO-Revision-Date: 2023-11-15 22:59\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po
index 40575d678a8f..f0b26cd1f249 100644
--- a/src/frontend/src/locales/vi/messages.po
+++ b/src/frontend/src/locales/vi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: vi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-13 21:29\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -143,11 +143,11 @@ msgstr "Tôi sẽ sử dụng tên đăng nhập và mật khẩu"
#: src/components/forms/AuthenticationForm.tsx:145
msgid "Log In"
-msgstr ""
+msgstr "Đăng nhập"
#: src/components/forms/AuthenticationForm.tsx:147
msgid "Send Email"
-msgstr ""
+msgstr "Gửi email"
#: src/components/forms/HostOptionsForm.tsx:36
#: src/components/forms/HostOptionsForm.tsx:66
@@ -236,31 +236,31 @@ msgstr "Ảnh thu nhỏ"
#: src/components/items/ActionDropdown.tsx:85
#: src/pages/build/BuildDetail.tsx:206
msgid "Barcode Actions"
-msgstr ""
+msgstr "Chức năng mã vạch"
#: src/components/items/ActionDropdown.tsx:102
msgid "View"
-msgstr ""
+msgstr "Xem"
#: src/components/items/ActionDropdown.tsx:103
msgid "View barcode"
-msgstr ""
+msgstr "Xem mã vạch"
#: src/components/items/ActionDropdown.tsx:119
msgid "Link Barcode"
-msgstr ""
+msgstr "Liên kết mã vạch"
#: src/components/items/ActionDropdown.tsx:120
msgid "Link custom barcode"
-msgstr ""
+msgstr "Liên kết mã vạch tùy chỉnh"
#: src/components/items/ActionDropdown.tsx:136
msgid "Unlink Barcode"
-msgstr ""
+msgstr "Gỡ liên kết mã vạch"
#: src/components/items/ActionDropdown.tsx:137
msgid "Unlink custom barcode"
-msgstr ""
+msgstr "Gỡ bỏ mã vạch tùy chỉnh"
#: src/components/items/ActionDropdown.tsx:155
#: src/components/tables/RowActions.tsx:44
@@ -277,21 +277,21 @@ msgstr "Xóa"
#: src/components/items/ActionDropdown.tsx:175
msgid "Delete item"
-msgstr ""
+msgstr "Xoá mặt hàng"
#: src/components/items/ActionDropdown.tsx:193
#: src/components/tables/RowActions.tsx:27
#: src/pages/stock/StockDetail.tsx:190
msgid "Duplicate"
-msgstr ""
+msgstr "Nhân bản"
#: src/components/items/ActionDropdown.tsx:194
msgid "Duplicate item"
-msgstr ""
+msgstr "Nhân bản hàng hóa"
#: src/components/items/CopyButton.tsx:18
msgid "Copy to clipboard"
-msgstr ""
+msgstr "Sao chép đến bảng tạm"
#: src/components/items/DocTooltip.tsx:94
msgid "Read More"
@@ -317,7 +317,7 @@ msgstr "Logo InvenTree"
#: src/components/items/OnlyStaff.tsx:9
#: src/components/modals/AboutInvenTreeModal.tsx:30
msgid "This information is only available for staff users"
-msgstr ""
+msgstr "Thông tin này chỉ khả dụng với nhân viên"
#: src/components/items/Placeholder.tsx:14
msgid "This feature/button/site is a placeholder for a feature that is not implemented, only partial or intended for testing."
@@ -345,80 +345,80 @@ msgstr "Không"
#: src/components/modals/AboutInvenTreeModal.tsx:85
msgid "Your InvenTree version status is"
-msgstr ""
+msgstr "Trạng thái phiên bản InvenTree của bạn"
#: src/components/modals/AboutInvenTreeModal.tsx:89
msgid "Development Version"
-msgstr ""
+msgstr "Phiên bản phát triển"
#: src/components/modals/AboutInvenTreeModal.tsx:93
msgid "Up to Date"
-msgstr ""
+msgstr "Mới nhất"
#: src/components/modals/AboutInvenTreeModal.tsx:97
msgid "Update Available"
-msgstr ""
+msgstr "Có bản cập nhật mới"
#: src/components/modals/AboutInvenTreeModal.tsx:102
msgid "Version Information"
-msgstr ""
+msgstr "Thông tin phiên bản"
#: src/components/modals/AboutInvenTreeModal.tsx:110
msgid "InvenTree Version"
-msgstr ""
+msgstr "Phiên bản InvenTree"
#: src/components/modals/AboutInvenTreeModal.tsx:116
msgid "Commit Hash"
-msgstr ""
+msgstr "Commit Hash"
#: src/components/modals/AboutInvenTreeModal.tsx:121
msgid "Commit Date"
-msgstr ""
+msgstr "Ngày commit"
#: src/components/modals/AboutInvenTreeModal.tsx:126
msgid "Commit Branch"
-msgstr ""
+msgstr "Nhánh commit"
#: src/components/modals/AboutInvenTreeModal.tsx:131
#: src/components/modals/ServerInfoModal.tsx:124
msgid "API Version"
-msgstr ""
+msgstr "Phiên bản API"
#: src/components/modals/AboutInvenTreeModal.tsx:134
msgid "Python Version"
-msgstr ""
+msgstr "Phiên bản Python"
#: src/components/modals/AboutInvenTreeModal.tsx:137
msgid "Django Version"
-msgstr ""
+msgstr "Phiên bản Django"
#: src/components/modals/AboutInvenTreeModal.tsx:147
msgid "Links"
-msgstr ""
+msgstr "Liên kết"
#: src/components/modals/AboutInvenTreeModal.tsx:153
msgid "InvenTree Documentation"
-msgstr ""
+msgstr "Tài liệu InvenTree"
#: src/components/modals/AboutInvenTreeModal.tsx:154
msgid "View Code on GitHub"
-msgstr ""
+msgstr "Xem mã trên Github"
#: src/components/modals/AboutInvenTreeModal.tsx:155
msgid "Credits"
-msgstr ""
+msgstr "Đóng góp"
#: src/components/modals/AboutInvenTreeModal.tsx:156
msgid "Mobile App"
-msgstr ""
+msgstr "Ứng dụng di động"
#: src/components/modals/AboutInvenTreeModal.tsx:157
msgid "Submit Bug Report"
-msgstr ""
+msgstr "Gửi báo cáo lỗi"
#: src/components/modals/AboutInvenTreeModal.tsx:167
msgid "Copy version information"
-msgstr ""
+msgstr "Sao chép thông tin phiên bản"
#: src/components/modals/QrCodeModal.tsx:72
msgid "Unknown response"
@@ -481,67 +481,67 @@ msgstr "Máy chủ"
#: src/components/modals/ServerInfoModal.tsx:23
msgid "Instance Name"
-msgstr ""
+msgstr "Tên thực thể"
#: src/components/modals/ServerInfoModal.tsx:29
msgid "Database"
-msgstr ""
+msgstr "Cơ sở dữ liệu"
#: src/components/modals/ServerInfoModal.tsx:38
msgid "Bebug Mode"
-msgstr ""
+msgstr "Chế độ gỡ lỗi"
#: src/components/modals/ServerInfoModal.tsx:41
msgid "Server is running in debug mode"
-msgstr ""
+msgstr "Máy chủ đang hoạt động dưới chế độ gỡ lỗi"
#: src/components/modals/ServerInfoModal.tsx:48
msgid "Docker Mode"
-msgstr ""
+msgstr "Chế độ Docker"
#: src/components/modals/ServerInfoModal.tsx:51
msgid "Server is deployed using docker"
-msgstr ""
+msgstr "Máy chủ được triển khai bởi docker"
#: src/components/modals/ServerInfoModal.tsx:57
msgid "Plugin Support"
-msgstr ""
+msgstr "Hỗ trợ phần bổ sung"
#: src/components/modals/ServerInfoModal.tsx:62
msgid "Plugin support enabled"
-msgstr ""
+msgstr "Hỗ trợ phần bổ sung đã bật"
#: src/components/modals/ServerInfoModal.tsx:64
msgid "Plugin support disabled"
-msgstr ""
+msgstr "Hỗ trợ phần bổ sung đã tắt"
#: src/components/modals/ServerInfoModal.tsx:71
msgid "Server status"
-msgstr ""
+msgstr "Tình trạng máy chủ"
#: src/components/modals/ServerInfoModal.tsx:77
msgid "Healthy"
-msgstr ""
+msgstr "Sức khỏe"
#: src/components/modals/ServerInfoModal.tsx:79
msgid "Issues detected"
-msgstr ""
+msgstr "Đã phát hiện vấn đề"
#: src/components/modals/ServerInfoModal.tsx:88
msgid "Background Worker"
-msgstr ""
+msgstr "Nhân công chạy ngầm"
#: src/components/modals/ServerInfoModal.tsx:92
msgid "Background worker not running"
-msgstr ""
+msgstr "Nhân công chạy ngầm không hoạt động"
#: src/components/modals/ServerInfoModal.tsx:100
msgid "Email Settings"
-msgstr ""
+msgstr "Thiết lập email"
#: src/components/modals/ServerInfoModal.tsx:104
msgid "Email settings not configured"
-msgstr ""
+msgstr "Chưa cấu hình thiết lập email"
#: src/components/modals/ServerInfoModal.tsx:112
#: src/components/tables/plugin/PluginListTable.tsx:86
@@ -550,7 +550,7 @@ msgstr "Phiên bản"
#: src/components/modals/ServerInfoModal.tsx:118
msgid "Server Version"
-msgstr ""
+msgstr "Phiên bản máy chủ"
#: src/components/nav/MainMenu.tsx:40
#: src/pages/Index/Profile/Profile.tsx:15
@@ -1436,15 +1436,15 @@ msgstr ""
#: src/components/tables/part/PartParameterTemplateTable.tsx:95
msgid "Create Parameter Template"
-msgstr ""
+msgstr "Tạo mẫu tham số"
#: src/components/tables/part/PartParameterTemplateTable.tsx:97
msgid "Parameter template created"
-msgstr ""
+msgstr "Mẫu tham số đã được tạo"
#: src/components/tables/part/PartParameterTemplateTable.tsx:105
msgid "Add parameter template"
-msgstr ""
+msgstr "Thêm mẫu tham số"
#: src/components/tables/part/PartTable.tsx:39
msgid "IPN"
@@ -1463,19 +1463,19 @@ msgstr "Kho hàng"
#: src/components/tables/part/PartTable.tsx:82
msgid "Minimum stock"
-msgstr ""
+msgstr "Kho tối thiểu"
#: src/components/tables/part/PartTable.tsx:91
msgid "On Order"
-msgstr ""
+msgstr "On Order"
#: src/components/tables/part/PartTable.tsx:104
msgid "Build Order Allocations"
-msgstr ""
+msgstr "Phân bổ đơn hàng bản dựng"
#: src/components/tables/part/PartTable.tsx:113
msgid "Sales Order Allocations"
-msgstr ""
+msgstr "Phân bổ đơn hàng bán"
#: src/components/tables/part/PartTable.tsx:176
msgid "Filter by part active status"
@@ -1629,55 +1629,55 @@ msgstr "Mô tả không có sẵn"
#: src/components/tables/plugin/PluginListTable.tsx:105
msgid "Activate Plugin"
-msgstr ""
+msgstr "Kích hoạt phần bổ sung"
#: src/components/tables/plugin/PluginListTable.tsx:105
msgid "Deactivate Plugin"
-msgstr ""
+msgstr "Tắt phần bổ sung"
#: src/components/tables/plugin/PluginListTable.tsx:114
msgid "Confirm plugin activation"
-msgstr ""
+msgstr "Xác nhận kích hoạt phần bổ sung"
#: src/components/tables/plugin/PluginListTable.tsx:115
msgid "Confirm plugin deactivation"
-msgstr ""
+msgstr "Xác nhận tắt phần bổ sung"
#: src/components/tables/plugin/PluginListTable.tsx:121
msgid "The following plugin will be activated"
-msgstr ""
+msgstr "Những phần bổ sung sau đây sẽ được kích hoạt"
#: src/components/tables/plugin/PluginListTable.tsx:122
msgid "The following plugin will be deactivated"
-msgstr ""
+msgstr "Những phần bổ sung sau đây sẽ bị tắt"
#: src/components/tables/plugin/PluginListTable.tsx:133
msgid "Confirm"
-msgstr ""
+msgstr "Xác nhận"
#: src/components/tables/plugin/PluginListTable.tsx:143
msgid "Activating plugin"
-msgstr ""
+msgstr "Kích hoạt phần bổ sung"
#: src/components/tables/plugin/PluginListTable.tsx:143
msgid "Deactivating plugin"
-msgstr ""
+msgstr "Tắt phần bổ sung"
#: src/components/tables/plugin/PluginListTable.tsx:153
msgid "Plugin updated"
-msgstr ""
+msgstr "Đã cập nhật phần bổ sung"
#: src/components/tables/plugin/PluginListTable.tsx:155
msgid "The plugin was activated"
-msgstr ""
+msgstr "Phần bổ sung đã được kích hoạt"
#: src/components/tables/plugin/PluginListTable.tsx:156
msgid "The plugin was deactivated"
-msgstr ""
+msgstr "Phần bổ sung đã bị tắt"
#: src/components/tables/plugin/PluginListTable.tsx:164
msgid "Error updating plugin"
-msgstr ""
+msgstr "Lỗi cập nhật phần bổ sung"
#: src/components/tables/plugin/PluginListTable.tsx:181
msgid "Deactivate"
@@ -1701,7 +1701,7 @@ msgstr "Đã cài đặt"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55
msgid "Receive line item"
-msgstr ""
+msgstr "Nhận hạng mục"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55
#~ msgid "Receive"
@@ -1709,125 +1709,125 @@ msgstr ""
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:76
msgid "Edit Line Item"
-msgstr ""
+msgstr "Sửa hạng mục"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:79
msgid "Line item updated"
-msgstr ""
+msgstr "Đã cập nhật hạng mục"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:112
msgid "Part Description"
-msgstr ""
+msgstr "Mô tả sản phẩm"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173
#: src/components/tables/purchasing/SupplierPartTable.tsx:105
#: src/components/tables/purchasing/SupplierPartTable.tsx:125
msgid "Pack Quantity"
-msgstr ""
+msgstr "Số lượng gói"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
msgid "Total Quantity"
-msgstr ""
+msgstr "Tổng số lượng"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:159
msgid "Received"
-msgstr ""
+msgstr "Đã nhận"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:178
msgid "Supplier Code"
-msgstr ""
+msgstr "Mã nhà cung cấp"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:185
msgid "Supplier Link"
-msgstr ""
+msgstr "Liên kết nhà cung cấp"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:192
msgid "Manufacturer Code"
-msgstr ""
+msgstr "Mã nhà sản xuất"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:200
msgid "Unit Price"
-msgstr ""
+msgstr "Đơn giá"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:206
msgid "Destination"
-msgstr ""
+msgstr "Đích đến"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:224
msgid "Add Line Item"
-msgstr ""
+msgstr "Thêm hạng mục"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:230
msgid "Line item added"
-msgstr ""
+msgstr "Đã thêm hạng mục"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:239
msgid "Add line item"
-msgstr ""
+msgstr "Thêm hạng mục"
#: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:245
msgid "Receive items"
-msgstr ""
+msgstr "Nhận hàng hóa"
#: src/components/tables/purchasing/PurchaseOrderTable.tsx:48
#: src/components/tables/purchasing/SupplierPartTable.tsx:51
#: src/pages/company/SupplierDetail.tsx:8
msgid "Supplier"
-msgstr ""
+msgstr "Nhà cung cấp"
#: src/components/tables/purchasing/PurchaseOrderTable.tsx:64
msgid "Supplier Reference"
-msgstr ""
+msgstr "Tham chiếu nhà cung cấp"
#: src/components/tables/purchasing/SupplierPartTable.tsx:74
#: src/pages/company/ManufacturerDetail.tsx:8
msgid "Manufacturer"
-msgstr ""
+msgstr "Nhà sản xuất"
#: src/components/tables/purchasing/SupplierPartTable.tsx:90
msgid "MPN"
-msgstr ""
+msgstr "MPN"
#: src/components/tables/purchasing/SupplierPartTable.tsx:95
msgid "In Stock"
-msgstr ""
+msgstr "Còn hàng"
#: src/components/tables/purchasing/SupplierPartTable.tsx:100
msgid "Packaging"
-msgstr ""
+msgstr "Đóng gói"
#: src/components/tables/purchasing/SupplierPartTable.tsx:116
msgid "Base units"
-msgstr ""
+msgstr "Đơn vị cơ sở"
#: src/components/tables/purchasing/SupplierPartTable.tsx:138
msgid "Availability"
-msgstr ""
+msgstr "Sẵn sàng"
#: src/components/tables/purchasing/SupplierPartTable.tsx:147
msgid "Updated"
-msgstr ""
+msgstr "Đã cập nhật"
#: src/components/tables/purchasing/SupplierPartTable.tsx:166
msgid "Add Supplier Part"
-msgstr ""
+msgstr "Thêm sản phẩm nhà cung cấp"
#: src/components/tables/purchasing/SupplierPartTable.tsx:169
msgid "Supplier part created"
-msgstr ""
+msgstr "Đã tạo sản phẩm nhà cung cấp"
#: src/components/tables/purchasing/SupplierPartTable.tsx:178
msgid "Add supplier part"
-msgstr ""
+msgstr "Thêm sản phẩm nhà cung cấp"
#: src/components/tables/purchasing/SupplierPartTable.tsx:193
msgid "Edit Supplier Part"
-msgstr ""
+msgstr "Sửa sản phẩm nhà cung cấp"
#: src/components/tables/purchasing/SupplierPartTable.tsx:196
msgid "Supplier part updated"
-msgstr ""
+msgstr "Cập nhật sản phẩm nhà cung cấp"
#: src/components/tables/purchasing/SupplierPartTable.tsx:207
msgid "Delete Supplier Part"
@@ -2210,123 +2210,123 @@ msgstr "Hiển thị hộp"
#: src/contexts/LanguageContext.tsx:13
msgid "Bulgarian"
-msgstr ""
+msgstr "Bulgarian"
#: src/contexts/LanguageContext.tsx:14
msgid "Czech"
-msgstr ""
+msgstr "Czech"
#: src/contexts/LanguageContext.tsx:15
msgid "Danish"
-msgstr ""
+msgstr "Danish"
#: src/contexts/LanguageContext.tsx:16
msgid "German"
-msgstr ""
+msgstr "German"
#: src/contexts/LanguageContext.tsx:17
msgid "Greek"
-msgstr ""
+msgstr "Greek"
#: src/contexts/LanguageContext.tsx:18
msgid "English"
-msgstr ""
+msgstr "English"
#: src/contexts/LanguageContext.tsx:19
msgid "Spanish"
-msgstr ""
+msgstr "Spanish"
#: src/contexts/LanguageContext.tsx:20
msgid "Spanish (Mexican)"
-msgstr ""
+msgstr "Spanish (Mexican)"
#: src/contexts/LanguageContext.tsx:21
msgid "Farsi / Persian"
-msgstr ""
+msgstr "Farsi / Persian"
#: src/contexts/LanguageContext.tsx:22
msgid "Finnish"
-msgstr ""
+msgstr "Finnish"
#: src/contexts/LanguageContext.tsx:23
msgid "French"
-msgstr ""
+msgstr "French"
#: src/contexts/LanguageContext.tsx:24
msgid "Hebrew"
-msgstr ""
+msgstr "Hebrew"
#: src/contexts/LanguageContext.tsx:25
msgid "Hindi"
-msgstr ""
+msgstr "Hindi"
#: src/contexts/LanguageContext.tsx:26
msgid "Hungarian"
-msgstr ""
+msgstr "Hungarian"
#: src/contexts/LanguageContext.tsx:27
msgid "Italian"
-msgstr ""
+msgstr "Italian"
#: src/contexts/LanguageContext.tsx:28
msgid "Japanese"
-msgstr ""
+msgstr "Japanese"
#: src/contexts/LanguageContext.tsx:29
msgid "Korean"
-msgstr ""
+msgstr "Korean"
#: src/contexts/LanguageContext.tsx:30
msgid "Dutch"
-msgstr ""
+msgstr "Dutch"
#: src/contexts/LanguageContext.tsx:31
msgid "Norwegian"
-msgstr ""
+msgstr "Norwegian"
#: src/contexts/LanguageContext.tsx:32
msgid "Polish"
-msgstr ""
+msgstr "Polish"
#: src/contexts/LanguageContext.tsx:33
msgid "Portuguese"
-msgstr ""
+msgstr "Portuguese"
#: src/contexts/LanguageContext.tsx:34
msgid "Portuguese (Brazilian)"
-msgstr ""
+msgstr "Portuguese (Brazilian)"
#: src/contexts/LanguageContext.tsx:35
msgid "Russian"
-msgstr ""
+msgstr "Russian"
#: src/contexts/LanguageContext.tsx:36
msgid "Slovenian"
-msgstr ""
+msgstr "Slovenian"
#: src/contexts/LanguageContext.tsx:37
msgid "Swedish"
-msgstr ""
+msgstr "Swedish"
#: src/contexts/LanguageContext.tsx:38
msgid "Thai"
-msgstr ""
+msgstr "Thai"
#: src/contexts/LanguageContext.tsx:39
msgid "Turkish"
-msgstr ""
+msgstr "Turkish"
#: src/contexts/LanguageContext.tsx:40
msgid "Vietnamese"
-msgstr ""
+msgstr "Tiếng Việt"
#: src/contexts/LanguageContext.tsx:41
msgid "Chinese (Simplified)"
-msgstr ""
+msgstr "Chinese (Simplified)"
#: src/contexts/LanguageContext.tsx:42
msgid "Chinese (Traditional)"
-msgstr ""
+msgstr "Chinese (Traditional)"
#: src/defaults/dashboardItems.tsx:15
msgid "Subscribed Parts"
@@ -2427,7 +2427,7 @@ msgstr "Bảng điều khiển"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:134
#: src/pages/purchasing/PurchasingIndex.tsx:53
msgid "Purchasing"
-msgstr ""
+msgstr "Mua sắm"
#: src/defaults/links.tsx:31
#: src/defaults/menuItems.tsx:53
@@ -2436,7 +2436,7 @@ msgstr ""
#: src/pages/sales/SalesIndex.tsx:45
#: src/pages/sales/SalesOrderDetail.tsx:99
msgid "Sales"
-msgstr ""
+msgstr "Bán hàng"
#: src/defaults/links.tsx:34
#: src/defaults/menuItems.tsx:71
@@ -2479,7 +2479,7 @@ msgstr "Câu hỏi thường gặp"
#: src/defaults/links.tsx:76
#: src/defaults/links.tsx:95
msgid "System Information"
-msgstr ""
+msgstr "Thông tin hệ thống"
#: src/defaults/links.tsx:76
#~ msgid "Instance"
@@ -2492,7 +2492,7 @@ msgstr ""
#: src/defaults/links.tsx:85
#: src/defaults/links.tsx:101
msgid "About InvenTree"
-msgstr ""
+msgstr "Giới thiệu"
#: src/defaults/links.tsx:96
msgid "About this Inventree instance"
@@ -2632,11 +2632,11 @@ msgstr "Bạn có chắc chắn muốn xóa tập tin đính kèm này?"
#: src/forms/CompanyForms.tsx:99
msgid "Edit Company"
-msgstr ""
+msgstr "Sửa doanh nghiệp"
#: src/forms/CompanyForms.tsx:103
msgid "Company updated"
-msgstr ""
+msgstr "Đã cập nhật doanh nghiệp"
#: src/forms/PartForms.tsx:77
msgid "Create Part"
@@ -2684,7 +2684,7 @@ msgstr "Sửa hàng trong kho"
#: src/forms/StockForms.tsx:131
msgid "Stock item updated"
-msgstr ""
+msgstr "Kho hàng đã được cập nhật"
#: src/functions/auth.tsx:34
msgid "Error fetching token from server."
@@ -3087,7 +3087,7 @@ msgstr "Thêm mục giả lập"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:32
msgid "Account Details"
-msgstr ""
+msgstr "Thông tin tài khoản"
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:58
msgid "First name: {0}"
@@ -3103,52 +3103,52 @@ msgstr "Sử dụng ngôn ngữ pseudo"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52
msgid "Single Sign On Accounts"
-msgstr ""
+msgstr "Tài khoản đăng nhập một lần"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77
msgid "Not enabled"
-msgstr ""
+msgstr "Không kích hoạt"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62
msgid "Single Sign On is not enabled for this server"
-msgstr ""
+msgstr "Máy chủ này chưa bật chức năng đăng nhập một lần"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66
msgid "Multifactor"
-msgstr ""
+msgstr "Đa nhân tố"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80
msgid "Multifactor authentication is not configured for your account"
-msgstr ""
+msgstr "Chưa cấu hình xác thực đa nhân tố cho tài khoản của bạn"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128
msgid "The following email addresses are associated with your account:"
-msgstr ""
+msgstr "Địa chỉ email sau đã được liên kết với tài khoản của bạn:"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140
msgid "Primary"
-msgstr ""
+msgstr "Chính"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145
msgid "Verified"
-msgstr ""
+msgstr "Đã xác minh"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149
msgid "Unverified"
-msgstr ""
+msgstr "Chưa xác minh"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162
msgid "Add Email Address"
-msgstr ""
+msgstr "Thêm địa chỉ email"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165
msgid "E-Mail"
-msgstr ""
+msgstr "Email"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166
msgid "E-Mail address"
-msgstr ""
+msgstr "Địa chỉ Email"
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176
msgid "Make Primary"
@@ -3629,31 +3629,31 @@ msgstr ""
#: src/pages/stock/StockDetail.tsx:164
msgid "Count stock"
-msgstr ""
+msgstr "Đếm hàng"
#: src/pages/stock/StockDetail.tsx:168
msgid "Add"
-msgstr ""
+msgstr "Thêm"
#: src/pages/stock/StockDetail.tsx:169
msgid "Add stock"
-msgstr ""
+msgstr "Thêm hàng"
#: src/pages/stock/StockDetail.tsx:174
msgid "Remove stock"
-msgstr ""
+msgstr "Xóa hàng"
#: src/pages/stock/StockDetail.tsx:178
msgid "Transfer"
-msgstr ""
+msgstr "Chuyển"
#: src/pages/stock/StockDetail.tsx:179
msgid "Transfer stock"
-msgstr ""
+msgstr "Chuyển giao hàng"
#: src/pages/stock/StockDetail.tsx:191
msgid "Duplicate stock item"
-msgstr ""
+msgstr "Nhân bản mặt hàng"
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po
index ccd41b62a220..1badf01679d5 100644
--- a/src/frontend/src/locales/zh/messages.po
+++ b/src/frontend/src/locales/zh/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: zh\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2023-11-14 22:29\n"
+"PO-Revision-Date: 2023-11-16 23:15\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Plural-Forms: nplurals=1; plural=0;\n"