diff --git a/.github/ISSUE_TEMPLATE/install.yaml b/.github/ISSUE_TEMPLATE/install.yaml
index c5fc63c99a..05db44e66e 100644
--- a/.github/ISSUE_TEMPLATE/install.yaml
+++ b/.github/ISSUE_TEMPLATE/install.yaml
@@ -4,6 +4,8 @@ labels: ["question", "triage:not-checked", "setup"]
body:
- type: checkboxes
id: deployment
+ validations:
+ required: true
attributes:
label: "Deployment Method"
options:
@@ -12,6 +14,8 @@ body:
- label: "Docker Production"
- label: "Bare metal Development"
- label: "Bare metal Production"
+ - label: "Digital Ocean image"
+ - label: "Other (please provide a link `Steps to Reproduce`"
- type: textarea
id: description
validations:
diff --git a/.pkgr.yml b/.pkgr.yml
index a6f7061407..51420715d2 100644
--- a/.pkgr.yml
+++ b/.pkgr.yml
@@ -15,33 +15,20 @@ env:
- INVENTREE_PLUGIN_FILE=/opt/inventree/plugins.txt
- INVENTREE_CONFIG_FILE=/opt/inventree/config.yaml
after_install: contrib/packager.io/postinstall.sh
+dependencies:
+ - curl
+ - python3
+ - python3-venv
+ - python3-pip
+ - python3-cffi
+ - python3-brotli
+ - python3-wheel
+ - libpango-1.0-0
+ - libharfbuzz0b
+ - libpangoft2-1.0-0
+ - gettext
+ - nginx
+ - jq
targets:
- ubuntu-20.04:
- dependencies:
- - curl
- - python3
- - python3-venv
- - python3-pip
- - python3-cffi
- - python3-brotli
- - python3-wheel
- - libpango-1.0-0
- - libharfbuzz0b
- - libpangoft2-1.0-0
- - gettext
- - nginx
- - jq
- debian-11:
- dependencies:
- - curl
- - python3
- - python3-venv
- - python3-pip
- - python3-cffi
- - python3-brotli
- - python3-wheel
- - libpango-1.0-0
- - libpangoft2-1.0-0
- - gettext
- - nginx
- - jq
+ ubuntu-20.04: true
+ debian-11: true
diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py
index bf9711ebe3..8887982784 100644
--- a/InvenTree/InvenTree/api_version.py
+++ b/InvenTree/InvenTree/api_version.py
@@ -2,11 +2,14 @@
# InvenTree API version
-INVENTREE_API_VERSION = 82
+INVENTREE_API_VERSION = 83
"""
Increment this API version number whenever there is a significant change to the API that any clients need to know about
+v83 -> 2022-11-19 : https://github.com/inventree/InvenTree/pull/3949
+ - Add support for structural Stock locations
+
v82 -> 2022-11-16 : https://github.com/inventree/InvenTree/pull/3931
- Add support for structural Part categories
diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py
index fc81ab8ba8..e51b013bef 100644
--- a/InvenTree/InvenTree/settings.py
+++ b/InvenTree/InvenTree/settings.py
@@ -744,6 +744,7 @@ SOCIALACCOUNT_STORE_TOKENS = True
# settings for allauth
ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = get_setting('INVENTREE_LOGIN_CONFIRM_DAYS', 'login_confirm_days', 3, typecast=int)
ACCOUNT_LOGIN_ATTEMPTS_LIMIT = get_setting('INVENTREE_LOGIN_ATTEMPTS', 'login_attempts', 5, typecast=int)
+ACCOUNT_DEFAULT_HTTP_PROTOCOL = get_setting('INVENTREE_LOGIN_DEFAULT_HTTP_PROTOCOL', 'login_default_protocol', 'http')
ACCOUNT_LOGOUT_ON_PASSWORD_CHANGE = True
ACCOUNT_PREVENT_ENUMERATION = True
diff --git a/InvenTree/InvenTree/static/css/inventree.css b/InvenTree/InvenTree/static/css/inventree.css
index 3658a216cf..176caff571 100644
--- a/InvenTree/InvenTree/static/css/inventree.css
+++ b/InvenTree/InvenTree/static/css/inventree.css
@@ -458,7 +458,7 @@ main {
}
.part-thumb-container:hover .part-thumb-overlay {
- opacity: 1;
+ opacity: 0.75;
}
.part-thumb-overlay {
@@ -467,8 +467,6 @@ main {
left: 0;
opacity: 0;
transition: .25s ease;
- padding-top: 10px;
- padding-left: 25px;
margin: 5px;
}
diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py
index f61362327f..f3e0258053 100644
--- a/InvenTree/InvenTree/tasks.py
+++ b/InvenTree/InvenTree/tasks.py
@@ -6,7 +6,7 @@ import re
import warnings
from dataclasses import dataclass
from datetime import timedelta
-from typing import Callable
+from typing import Callable, List
from django.conf import settings
from django.core import mail as django_mail
@@ -153,7 +153,7 @@ class ScheduledTask:
class TaskRegister:
"""Registery for periodicall tasks."""
- task_list: list[ScheduledTask] = []
+ task_list: List[ScheduledTask] = []
def register(self, task, schedule, minutes: int = None):
"""Register a task with the que."""
diff --git a/InvenTree/common/forms.py b/InvenTree/common/forms.py
index 224ba3a9c5..22d0619f4b 100644
--- a/InvenTree/common/forms.py
+++ b/InvenTree/common/forms.py
@@ -3,23 +3,7 @@
from django import forms
from django.utils.translation import gettext as _
-from InvenTree.forms import HelperForm
-
from .files import FileManager
-from .models import InvenTreeSetting
-
-
-class SettingEditForm(HelperForm):
- """Form for creating / editing a settings object."""
-
- class Meta:
- """Metaclassoptions for SettingEditForm."""
-
- model = InvenTreeSetting
-
- fields = [
- 'value'
- ]
class UploadFileForm(forms.Form):
diff --git a/InvenTree/company/templates/company/company_base.html b/InvenTree/company/templates/company/company_base.html
index bb27a69d25..6a28e5ba67 100644
--- a/InvenTree/company/templates/company/company_base.html
+++ b/InvenTree/company/templates/company/company_base.html
@@ -58,6 +58,9 @@
{% if allow_download %}
{% endif %}
+ {% if company.image %}
+
+ {% endif %}
@@ -194,10 +197,37 @@
$('#company-image').click(function() {
showModalImage('{{ company.image.url }}');
});
+
+ $('#company-image-delete').click(function(event) {
+ event.stopPropagation();
+ showQuestionDialog(
+ '{% trans "Remove Image" %}',
+ '{% trans "Remove associated image from this company" %}',
+ {
+ accept_text: '{% trans "Remove" %}',
+ submitClass: 'danger',
+ accept: function() {
+ inventreePut(
+ '{% url "api-company-detail" company.pk %}',
+ {
+ 'image': null,
+ },
+ {
+ method: 'PATCH',
+ success: function() {
+ location.reload();
+ }
+ }
+ );
+ }
+ }
+ );
+ });
+
{% endif %}
- $("#company-image-upload").click(function() {
-
+ $("#company-image-upload").click(function(event) {
+ event.stopPropagation();
constructForm(
'{% url "api-company-detail" company.pk %}',
{
diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml
index 153b1a3628..41fa14c93f 100644
--- a/InvenTree/config_template.yaml
+++ b/InvenTree/config_template.yaml
@@ -161,6 +161,7 @@ background:
# Login configuration
login_confirm_days: 3
login_attempts: 5
+login_default_protocol: http
# Remote / proxy login
# These settings can introduce security problems if configured incorrectly. Please read
diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index 0d03f4bbb7..57d5f2aba9 100644
--- a/InvenTree/locale/cs/LC_MESSAGES/django.po
+++ b/InvenTree/locale/cs/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -204,7 +204,7 @@ msgstr "Příloha"
msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Komentář"
msgid "File comment"
msgstr "Komentář k souboru"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Chyba při přejmenování souboru"
msgid "Invalid choice"
msgstr "Neplatný výběr"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Název"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Chyba serveru"
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po
index a84bc97cc6..87f8759503 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: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -204,7 +204,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr ""
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index d0e28e1624..6b390d14c7 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -204,7 +204,7 @@ msgstr "Anhang"
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Fehler beim Umbenennen"
msgid "Invalid choice"
msgstr "Ungültige Auswahl"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Name"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Serverfehler"
msgid "An error has been logged by the server."
msgstr "Ein Fehler wurde vom Server protokolliert."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Quell-Lagerartikel"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
msgid "Build order has incomplete outputs"
msgstr "Bauauftrag hat unvollständige Aufbauten"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "Stücklisten-Position"
@@ -1908,7 +1908,7 @@ msgstr "Kategorie-Parametervorlage kopieren"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr "Tage"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr "Interne Preise"
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr "Interne Preise für Teile aktivieren"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr "Labeldruck aktivieren"
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr "Labeldruck über die Website aktivieren"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr "Label Bild DPI"
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr "Berichte aktivieren"
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr "Berichterstellung aktivieren"
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr "Testberichte aktivieren"
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr "Testberichte anhängen"
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen"
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr "Losnummer Vorlage"
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände"
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr "Auftrag Standardsendung"
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr "Erstelle eine Standardsendung für Aufträge"
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr "Passwort vergessen aktivieren"
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren"
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr "Anmeldung erlauben"
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr "SSO aktivieren"
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr "SSO auf den Anmeldeseiten aktivieren"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "Email-Adresse erforderlich"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr "SSO-Benutzer automatisch ausfüllen"
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen"
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr "E-Mail zweimal"
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen"
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr "Passwort zweimal"
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen"
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr "Gruppe bei Registrierung"
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden"
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr "MFA erzwingen"
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden."
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr "Plugins beim Start prüfen"
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr "URL-Integration aktivieren"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr "Plugins zum Hinzufügen von URLs aktivieren"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr "Navigations-Integration aktivieren"
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr "Plugins zur Integration in die Navigation aktivieren"
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr "App-Integration aktivieren"
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr "Plugins zum Hinzufügen von Apps aktivieren"
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr "Terminplan-Integration aktivieren"
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr "Geplante Aufgaben aktivieren"
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr "Ereignis-Integration aktivieren"
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren"
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr "Abonnierte Teile anzeigen"
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr "Zeige abonnierte Teile auf der Startseite"
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr "Abonnierte Kategorien anzeigen"
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr "Zeige abonnierte Teilkategorien auf der Startseite"
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Neueste Teile anzeigen"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr "Zeige neueste Teile auf der Startseite"
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr "Nicht validierte Stücklisten anzeigen"
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite"
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr "Neueste Bestandänderungen anzeigen"
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite"
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr "Niedrigen Bestand anzeigen"
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr "Zeige geringen Bestand auf der Startseite"
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr "Lerren Bestand anzeigen"
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite"
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr "Benötigten Bestand anzeigen"
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr "Zeige Bestand für Bauaufträge auf der Startseite"
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr "Abgelaufenen Bestand anzeigen"
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr "Zeige abgelaufene Lagerbestände auf der Startseite"
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr "Alten Bestand anzeigen"
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr "Zeige überfällige Lagerartikel auf der Startseite"
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr "Ausstehende Bauaufträge anzeigen"
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr "Zeige ausstehende Bauaufträge auf der Startseite"
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr "Zeige überfällige Bauaufträge"
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr "Zeige überfällige Bauaufträge auf der Startseite"
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr "Ausstehende POs anzeigen"
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr "Zeige ausstehende POs auf der Startseite"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr "Überfällige POs anzeigen"
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr "Zeige überfällige POs auf der Startseite"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr "Ausstehende SOs anzeigen"
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr "Zeige ausstehende SOs auf der Startseite"
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr "Überfällige SOs anzeigen"
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr "Zeige überfällige SOs auf der Startseite"
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr "Label inline anzeigen"
-#: common/models.py:1563
+#: common/models.py:1570
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:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr "Berichte inline anzeigen"
-#: common/models.py:1570
+#: common/models.py:1577
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:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr "Teile suchen"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr "Teile in der Suchvorschau anzeigen"
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr "Zuliefererteile durchsuchen"
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr "Zuliefererteile in der Suchvorschau anzeigen"
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr "Herstellerteile durchsuchen"
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr "Herstellerteile in der Suchvorschau anzeigen"
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr "Inaktive Teile ausblenden"
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr "Inaktive Teile in der Suchvorschau ausblenden"
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr "Kategorien durchsuchen"
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr "Teilekategorien in der Suchvorschau anzeigen"
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr "Bestand durchsuchen"
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr "Lagerartikel in Suchvorschau anzeigen"
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr "Nicht verfügbare Artikel ausblenden"
-#: common/models.py:1619
+#: common/models.py:1626
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:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr "Lagerorte durchsuchen"
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr "Lagerorte in Suchvorschau anzeigen"
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr "Firmen durchsuchen"
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr "Firmen in der Suchvorschau anzeigen"
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr "Bestellungen durchsuchen"
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr "Bestellungen in der Suchvorschau anzeigen"
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr "Inaktive Bestellungen ausblenden"
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden"
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr "Aufträge durchsuchen"
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr "Aufträge in der Suchvorschau anzeigen"
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr "Inaktive Aufträge ausblenden"
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inaktive Aufträge in der Suchvorschau ausblenden"
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr "Anzahl Suchergebnisse"
-#: common/models.py:1675
+#: common/models.py:1682
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:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr "Esc-Taste schließt Formulare"
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr "Benutze die Esc-Taste, um Formulare zu schließen"
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr "Fixierter Navigationsleiste"
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren"
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr "Datumsformat"
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr "Bevorzugtes Format für die Anzeige von Daten"
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Teilzeitplanung"
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr "Zeige Zeitplanung für Teile"
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Preis"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr "Endpunkt"
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr "Name für diesen Webhook"
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr "Ist dieser Webhook aktiv"
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr "Token"
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr "Token für Zugang"
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr "Geheimnis"
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr "Shared Secret für HMAC"
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr "Nachrichten-ID"
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr "Eindeutige Kennung für diese Nachricht"
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr "Host"
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr "Host von dem diese Nachricht empfangen wurde"
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr "Kopfzeile"
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr "Header dieser Nachricht"
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr "Body"
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr "Body dieser Nachricht"
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr "Endpunkt, über den diese Nachricht empfangen wurde"
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr "Bearbeitet"
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?"
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autor"
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Währung"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr "Parameterwert"
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "Teil-ID"
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr "Name des Teils"
@@ -4512,11 +4520,11 @@ msgstr "Zugeordnet"
msgid "Building"
msgstr "Im Bau"
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr "Teil-ID"
@@ -4652,7 +4660,7 @@ msgstr "Symbol"
msgid "Icon (optional)"
msgstr "Symbol (optional)"
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr "Name des Teils"
@@ -4708,7 +4716,7 @@ msgstr "Beschreibung des Teils"
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr "Erstellungs-Nutzer"
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden"
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil"
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?"
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?"
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr "Wert"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr "Teilnummer oder Teilname"
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr "Eindeutige Teil-ID"
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr "IPN-Wert des Teils"
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr "Stufe"
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr "Stücklistenebene"
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
msgid "Optional"
msgstr "Optional"
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt"
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden"
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr "Doppelte Beziehung existiert bereits"
@@ -7485,32 +7493,32 @@ msgstr "Bestellungs-Einstellungen"
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr "Währungseinstellungen"
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr "Jetzt aktualisieren"
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr "Letzte Aktualisierung"
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr "Nie"
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr "Basiswährung"
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr "Wechselkurse"
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr "Keine Teilparametervorlagen gefunden"
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "ID"
@@ -9253,7 +9261,7 @@ msgstr "Sendungs-ID"
msgid "Manufacturer Part ID"
msgstr "Herstellerteil-ID"
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr "Alter"
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr "Als ungelesen markieren"
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr "Als gelesen markieren"
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr "Keine ungelesenen Benachrichtigungen"
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr "Benachrichtigungen erscheinen hier"
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index 418b7bee69..80184967a7 100644
--- a/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -204,7 +204,7 @@ msgstr "Συνημμένο"
msgid "Select file to attach"
msgstr "Επιλέξτε αρχείο για επισύναψη"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Σχόλιο"
msgid "File comment"
msgstr "Σχόλιο αρχείου"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Σφάλμα κατά τη μετονομασία"
msgid "Invalid choice"
msgstr "Μη έγκυρη επιλογή"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Όνομα"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Σφάλμα διακομιστή"
msgid "An error has been logged by the server."
msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Αναφορά Παραγγελίας Κατασκευής"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index d44b8bfdbf..45dffea762 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-07 02:58+0000\n"
+"POT-Creation-Date: 2022-11-14 22:22+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr ""
@@ -26,27 +26,27 @@ msgstr ""
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561
-#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014
-#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -123,43 +123,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -195,7 +195,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -205,18 +205,19 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr ""
@@ -229,12 +230,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758
-#: common/models.py:1759 common/models.py:1982 common/models.py:1983
-#: common/models.py:2245 common/models.py:2246 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr ""
@@ -271,44 +272,45 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr ""
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr ""
@@ -321,7 +323,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -333,7 +335,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -353,187 +355,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr ""
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr ""
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr ""
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -562,8 +564,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -647,7 +649,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -655,7 +657,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -760,15 +762,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256
-#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833
-#: templates/js/translated/order.js:4342
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -786,39 +788,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -875,8 +878,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -884,12 +887,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
+#: build/models.py:252 order/models.py:87 part/models.py:971
#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -897,7 +900,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -915,11 +918,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -930,7 +933,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -969,11 +972,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -995,9 +998,9 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
@@ -1005,8 +1008,8 @@ msgstr ""
#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1016,12 +1019,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1790
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1029,25 +1030,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
-#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1088,10 +1093,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1103,9 +1108,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1121,7 +1126,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1129,18 +1134,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1149,12 +1154,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1214,7 +1220,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1230,8 +1236,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1247,11 +1253,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1268,7 +1274,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1383,13 +1389,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858
-#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1402,29 +1408,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2804
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1450,8 +1456,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1463,14 +1469,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1528,7 +1534,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1600,8 +1606,8 @@ msgstr ""
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1618,7 +1624,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1735,7 +1741,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1903,9 +1909,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1913,9 +1919,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1923,8 +1930,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1932,7 +1939,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1940,8 +1947,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1949,10 +1956,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1960,10 +1967,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1980,807 +1987,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1255
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1268
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1269
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1341
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1365
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1373
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1416 common/models.py:1751
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1697
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1704
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1719 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1791
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1798 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1799
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1959 common/models.py:2137
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1969
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1974 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1990
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2104
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2105
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2138
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2144
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2803,14 +2840,14 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
-#: order/views.py:102 part/views.py:112
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2833,298 +2870,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3138,7 +3178,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3156,7 +3196,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3179,14 +3219,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3199,12 +3239,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3220,7 +3260,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3249,7 +3289,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3263,7 +3303,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3286,7 +3326,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3314,8 +3354,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3326,12 +3365,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3346,35 +3385,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3383,7 +3423,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3404,10 +3444,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3499,7 +3539,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3509,47 +3549,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3559,9 +3572,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3575,19 +3588,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3689,438 +3703,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
+#: order/models.py:685 order/models.py:1241
#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4171,7 +4186,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4265,9 +4281,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4386,7 +4402,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
@@ -4417,617 +4433,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3928
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5051,7 +5294,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5087,10 +5330,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5108,12 +5347,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5161,7 +5400,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5193,7 +5432,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5209,123 +5449,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5456,15 +5676,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5473,12 +5693,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5489,100 +5703,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5590,7 +5795,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5602,15 +5808,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5618,74 +5820,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5739,40 +5949,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6087,12 +6293,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
-#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6101,12 +6307,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6124,383 +6330,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6537,7 +6795,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6545,7 +6803,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6704,7 +6962,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6714,16 +6972,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6800,11 +7052,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6977,6 +7224,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7043,30 +7298,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7107,15 +7338,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7142,11 +7373,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7256,6 +7482,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7312,6 +7571,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7374,10 +7634,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7397,7 +7653,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7909,7 +8165,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7923,7 +8179,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8076,7 +8332,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8146,10 +8402,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8159,12 +8415,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8216,118 +8472,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3942
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8372,12 +8640,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8499,20 +8767,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8520,12 +8783,12 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
@@ -8590,9 +8853,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8604,7 +8867,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8612,118 +8875,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8804,27 +9093,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8833,7 +9122,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8953,14 +9242,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8971,16 +9252,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9123,177 +9400,179 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509
-#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525
-#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
@@ -9378,7 +9657,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
@@ -9386,396 +9665,423 @@ msgstr ""
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4031
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4056
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4059
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4141
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4250
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4264
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4499
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9874,364 +10180,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10255,215 +10561,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10573,6 +10884,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10757,34 +11072,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 85ac75d7aa..bf4e30a43b 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -204,7 +204,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr ""
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index d44b8bfdbf..45dffea762 100644
--- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-07 02:58+0000\n"
+"POT-Creation-Date: 2022-11-14 22:22+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr ""
@@ -26,27 +26,27 @@ msgstr ""
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561
-#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014
-#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -123,43 +123,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -195,7 +195,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -205,18 +205,19 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr ""
@@ -229,12 +230,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758
-#: common/models.py:1759 common/models.py:1982 common/models.py:1983
-#: common/models.py:2245 common/models.py:2246 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr ""
@@ -271,44 +272,45 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr ""
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr ""
@@ -321,7 +323,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -333,7 +335,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -353,187 +355,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr ""
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr ""
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr ""
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -562,8 +564,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -647,7 +649,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -655,7 +657,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -760,15 +762,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256
-#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833
-#: templates/js/translated/order.js:4342
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -786,39 +788,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -875,8 +878,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -884,12 +887,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
+#: build/models.py:252 order/models.py:87 part/models.py:971
#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -897,7 +900,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -915,11 +918,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -930,7 +933,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -969,11 +972,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -995,9 +998,9 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
@@ -1005,8 +1008,8 @@ msgstr ""
#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1016,12 +1019,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1790
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1029,25 +1030,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
-#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1088,10 +1093,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1103,9 +1108,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1121,7 +1126,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1129,18 +1134,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1149,12 +1154,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1214,7 +1220,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1230,8 +1236,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1247,11 +1253,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1268,7 +1274,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1383,13 +1389,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858
-#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1402,29 +1408,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2804
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1450,8 +1456,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1463,14 +1469,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1528,7 +1534,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1600,8 +1606,8 @@ msgstr ""
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1618,7 +1624,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1735,7 +1741,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1903,9 +1909,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1913,9 +1919,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1923,8 +1930,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1932,7 +1939,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1940,8 +1947,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1949,10 +1956,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1960,10 +1967,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1980,807 +1987,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1255
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1268
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1269
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1341
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1365
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1373
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1416 common/models.py:1751
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1697
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1704
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1719 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1791
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1798 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1799
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1959 common/models.py:2137
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1969
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1974 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1990
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2104
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2105
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2138
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2144
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2803,14 +2840,14 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
-#: order/views.py:102 part/views.py:112
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2833,298 +2870,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3138,7 +3178,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3156,7 +3196,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3179,14 +3219,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3199,12 +3239,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3220,7 +3260,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3249,7 +3289,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3263,7 +3303,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3286,7 +3326,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3314,8 +3354,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3326,12 +3365,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3346,35 +3385,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3383,7 +3423,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3404,10 +3444,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3499,7 +3539,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3509,47 +3549,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3559,9 +3572,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3575,19 +3588,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3689,438 +3703,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
+#: order/models.py:685 order/models.py:1241
#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4171,7 +4186,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4265,9 +4281,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4386,7 +4402,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
@@ -4417,617 +4433,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3928
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5051,7 +5294,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5087,10 +5330,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5108,12 +5347,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5161,7 +5400,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5193,7 +5432,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5209,123 +5449,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5456,15 +5676,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5473,12 +5693,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5489,100 +5703,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5590,7 +5795,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5602,15 +5808,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5618,74 +5820,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5739,40 +5949,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6087,12 +6293,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
-#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6101,12 +6307,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6124,383 +6330,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6537,7 +6795,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6545,7 +6803,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6704,7 +6962,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6714,16 +6972,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6800,11 +7052,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6977,6 +7224,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7043,30 +7298,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7107,15 +7338,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7142,11 +7373,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7256,6 +7482,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7312,6 +7571,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7374,10 +7634,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7397,7 +7653,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7909,7 +8165,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7923,7 +8179,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8076,7 +8332,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8146,10 +8402,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8159,12 +8415,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8216,118 +8472,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3942
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8372,12 +8640,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8499,20 +8767,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8520,12 +8783,12 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
@@ -8590,9 +8853,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8604,7 +8867,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8612,118 +8875,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8804,27 +9093,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8833,7 +9122,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8953,14 +9242,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8971,16 +9252,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9123,177 +9400,179 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509
-#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525
-#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
@@ -9378,7 +9657,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
@@ -9386,396 +9665,423 @@ msgstr ""
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4031
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4056
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4059
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4141
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4250
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4264
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4499
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9874,364 +10180,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10255,215 +10561,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10573,6 +10884,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10757,34 +11072,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index b2777c3405..ab9c57ceb1 100644
--- a/InvenTree/locale/fa/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fa/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:50\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -204,7 +204,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr ""
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 8d81bd7201..edfc26838c 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:50\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -204,7 +204,7 @@ msgstr "Pièce jointe"
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Commentaire"
msgid "File comment"
msgstr "Commentaire du fichier"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Erreur lors du renommage du fichier"
msgid "Invalid choice"
msgstr "Choix invalide"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Nom"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Erreur serveur"
msgid "An error has been logged by the server."
msgstr "Une erreur a été loguée par le serveur."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Référence de l' Ordre de Fabrication"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Stock d'origine de l'article"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée"
msgid "Build order has incomplete outputs"
msgstr "L'ordre de production a des sorties incomplètes"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "Article du BOM"
@@ -1908,7 +1908,7 @@ msgstr "Copier les templates de paramètres de catégorie"
msgid "Copy category parameter templates when creating a part"
msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce"
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr "jours"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr "Prix internes"
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr "Activer les prix internes pour les pièces"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr "Activer l'impression d'étiquettes"
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr "Activer l'impression d'étiquettes depuis l'interface Web"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr "Étiquette image DPI"
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes"
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr "Activer les rapports"
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr "Activer la génération de rapports"
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Mode Débogage"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr "Générer des rapports en mode debug (sortie HTML)"
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "Taille de la page"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "Taille de page par défaut pour les rapports PDF"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr "Activer les rapports de test"
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr "Activer la génération de rapports de test"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr "Joindre des rapports de test"
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé"
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global"
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr "Modèle de code de lot"
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr "Modèle pour générer des codes par défaut pour les articles en stock"
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr "Expiration du stock"
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr "Activer la fonctionnalité d'expiration du stock"
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr "Vendre le stock expiré"
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr "Autoriser la vente de stock expiré"
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr "Autoriser la construction avec un stock expiré"
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr "Contrôle de la propriété des stocks"
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles"
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr "Icône par défaut de l'emplacement du stock"
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)"
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr "Modèle de référence de commande de construction"
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction"
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr "Modèle de référence de bon de commande"
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr "Modèle requis pour générer le champ de référence du bon de commande"
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr "Expédition par défaut du bon de commande"
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr "Activer la création d'expédition par défaut avec les bons de commandes"
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr "Modèle de référence de commande d'achat"
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr "Activer les mots de passe oubliés"
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion"
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr "Activer les inscriptions"
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr "Activer le SSO"
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr "Activer le SSO sur les pages de connexion"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "Email requis"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr "Saisie automatique des utilisateurs SSO"
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr "Courriel en double"
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail"
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr "Mot de passe deux fois"
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe"
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr "Grouper sur inscription"
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription"
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr "Forcer le Multi-Factor-Authentication"
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr "Les utilisateurs doivent utiliser une sécurité multi-facteurs."
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr "Vérifier les plugins au démarrage"
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr "Vérifier les signatures du plugin"
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr "Activer l'intégration de plugins"
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr "Activer l'intégration de plugin pour ajouter des apps"
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr "Clé du paramètre (doit être unique - insensible à la casse)"
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr "Afficher les composants suivis"
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr "Afficher les composants suivis sur l'écran d'accueil"
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Afficher les dernières pièces"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr "Afficher les derniers composants sur la page d'accueil"
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr "Nombre de composants récents"
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr "Afficher les dernières modifications du stock"
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr "Afficher le stock épuisé"
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr "Afficher les stocks épuisés sur la page d'accueil"
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr "Afficher le stock nécessaire"
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr "Format de date"
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr "Format préféré pour l'affichage des dates"
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Prix"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr "Actif"
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr "Jeton"
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr "Confidentiel"
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr "ID message"
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr "Identifiant unique pour ce message"
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr "Hôte"
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr "Hôte à partir duquel ce message a été reçu"
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr "Entête"
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr "En-tête de ce message"
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr "Corps"
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr "Corps de ce message"
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr "Le travail sur ce message est-il terminé ?"
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr "Cette entreprise fabrique-t-elle des pièces?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Devise"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr "Description de la pièce du fournisseur"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "ID de composant"
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Catégorie de composant"
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr "Description du composant"
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Requis"
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr "Données"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Surplus"
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index 2ef5f34a67..3c51fa2e2d 100644
--- a/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -204,7 +204,7 @@ msgstr "קובץ מצורף"
msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "הערה"
msgid "File comment"
msgstr "הערת קובץ"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "שגיאה בשינוי שם פריט"
msgid "Invalid choice"
msgstr "בחירה שגויה"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "שם"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po
index 5b77b0de20..f978156640 100644
--- a/InvenTree/locale/hu/LC_MESSAGES/django.po
+++ b/InvenTree/locale/hu/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -204,7 +204,7 @@ msgstr "Melléklet"
msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Megjegyzés"
msgid "File comment"
msgstr "Leírás, bővebb infó"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Hiba a fájl átnevezésekor"
msgid "Invalid choice"
msgstr "Érvénytelen választás"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Név"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Kiszolgálóhiba"
msgid "An error has been logged by the server."
msgstr "A kiszolgáló egy hibaüzenetet rögzített."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Gyártási utasítás azonosító"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Forrás készlet tétel"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1236,8 +1236,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve"
msgid "Build order has incomplete outputs"
msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
@@ -1909,7 +1909,7 @@ msgstr "Kategória paraméter sablonok másolása"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor"
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2027,696 +2027,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr "nap"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr "Belső árak"
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr "Alkatrészekhez belső ár engedélyezése"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr "Címke nyomtatás engedélyezése"
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr "Címke nyomtatás engedélyezése a web felületről"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr "Címke kép DPI"
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak"
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr "Riportok engedélyezése"
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr "Riportok előállításának engedélyezése"
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Debug mód"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr "Riportok előállítása HTML formátumban (hibakereséshez)"
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "Lapméret"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "Alapértelmezett lapméret a PDF riportokhoz"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr "Teszt riportok engedélyezése"
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr "Teszt riportok előállításának engedélyezése"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr "Teszt riportok hozzáadása"
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez"
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr "Globálisan egyedi sorozatszámok"
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan"
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr "Batch kód sablon"
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához"
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr "Készlet lejárata"
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr "Készlet lejárat kezelésének engedélyezése"
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr "Lejárt készlet értékesítése"
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr "Lejárt készlet értékesítésének engedélyezése"
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr "Álló készlet ideje"
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük"
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr "Lejárt készlet gyártása"
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr "Gyártás engedélyezése lejárt készletből"
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr "Készlet tulajdonosok kezelése"
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre"
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr "Hely alapértelmezett ikon"
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr "Hely alapértelmezett ikon (üres ha nincs)"
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr "Gyártási utasítás azonosító minta"
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához"
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr "Vevői rendelés azonosító minta"
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához"
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr "Vevői rendeléshez alapértelmezett szállítmány"
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez"
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr "Befejezett vevői rendelés szerkesztése"
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után"
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr "Beszerzési rendelés azonosító minta"
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához"
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr "Befejezett beszerzési rendelés szerkesztése"
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után"
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr "Elfelejtett jelszó engedélyezése"
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon"
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr "Regisztráció engedélyezése"
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr "SSO engedélyezése"
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr "SSO engedélyezése a bejelentkező oldalon"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "Email szükséges"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr "Kötelező email megadás regisztrációkor"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr "SSO felhasználók automatikus kitöltése"
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból"
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr "Email kétszer"
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét"
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr "Jelszó kétszer"
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát"
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr "Csoport regisztráláskor"
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve"
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr "Többfaktoros hitelesítés kényszerítése"
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk."
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr "Pluginok ellenőrzése indításkor"
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)"
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr "Plugin aláírások ellenőrzése"
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése"
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr "URL integráció engedélyezése"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr "Navigációs integráció engedélyezése"
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr "Navigációs integráció engedélyezése a pluginok számára"
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr "App integráció engedélyezése"
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr "App hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr "Ütemezés integráció engedélyezése"
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr "Esemény integráció engedélyezése"
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára"
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
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:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr "Értesítésre beállított alkatrészek megjelenítése"
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr "Alkatrész értesítések megjelenítése a főoldalon"
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr "Értesítésre beállított kategóriák megjelenítése"
-#: common/models.py:1437
+#: common/models.py:1444
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:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Legújabb alkatrészek megjelenítése"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr "Legújabb alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr "Legfrissebb alkatrész szám"
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr "Főoldalon megjelenítendő legújabb alkatrészek"
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése"
-#: common/models.py:1458
+#: common/models.py:1465
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:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr "Legfrissebb készlet változások megjelenítése"
-#: common/models.py:1465
+#: common/models.py:1472
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:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr "Legfrissebb készlet mennyiség"
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma"
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr "Alacsony készlet megjelenítése"
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr "Alacsony készletek megjelenítése a főoldalon"
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr "Kimerült készlet megjelenítése"
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr "Kimerült készletek megjelenítése a főoldalon"
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr "Gyártáshoz szükséges készlet megjelenítése"
-#: common/models.py:1493
+#: common/models.py:1500
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:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr "Lejárt készlet megjelenítése"
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr "Lejárt készletek megjelenítése a főoldalon"
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr "Állott készlet megjelenítése"
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr "Álló készletek megjelenítése a főoldalon"
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr "Függő gyártások megjelenítése"
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr "Késésben lévő gyártások megjelenítése"
-#: common/models.py:1521
+#: common/models.py:1528
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:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr "Kintlévő beszerzési rendelések megjelenítése"
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr "Késésben lévő megrendelések megjelenítése"
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr "Késésben lévő megrendelések megjelenítése a főoldalon"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr "Függő vevői rendelések megjelenítése"
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr "Függő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr "Késésben lévő vevői rendelések megjelenítése"
-#: common/models.py:1549
+#: common/models.py:1556
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:1555
+#: common/models.py:1562
msgid "Show News"
msgstr "Hírek megjelenítése"
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr "Hírek megjelenítése a főoldalon"
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr "Beágyazott címke megjelenítés"
-#: common/models.py:1563
+#: common/models.py:1570
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:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr "Beágyazott riport megjelenítés"
-#: common/models.py:1570
+#: common/models.py:1577
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:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr "Alkatrészek keresése"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr "Alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr "Beszállítói alkatrészek keresése"
-#: common/models.py:1584
+#: common/models.py:1591
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:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr "Gyártói alkatrészek keresése"
-#: common/models.py:1591
+#: common/models.py:1598
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:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr "Inaktív alkatrészek elrejtése"
-#: common/models.py:1598
+#: common/models.py:1605
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:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr "Kategóriák keresése"
-#: common/models.py:1605
+#: common/models.py:1612
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:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr "Készlet keresése"
-#: common/models.py:1612
+#: common/models.py:1619
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:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr "Nem elérhető készlet tételek elrejtése"
-#: common/models.py:1619
+#: common/models.py:1626
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:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr "Helyek keresése"
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr "Készlet helyek megjelenítése a keresési előnézetben"
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr "Cégek keresése"
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr "Cégek megjelenítése a keresési előnézetben"
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr "Gyártási utasítások keresése"
-#: common/models.py:1640
+#: common/models.py:1647
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:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr "Beszerzési rendelések keresése"
-#: common/models.py:1647
+#: common/models.py:1654
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:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr "Inaktív beszerzési rendelések kihagyása"
-#: common/models.py:1654
+#: common/models.py:1661
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:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr "Vevői rendelések keresése"
-#: common/models.py:1661
+#: common/models.py:1668
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:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr "Inaktív vevői rendelések kihagyása"
-#: common/models.py:1668
+#: common/models.py:1675
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:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr "Keresési előnézet eredményei"
-#: common/models.py:1675
+#: common/models.py:1682
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:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr "Mennyiség megjelenítése a formokon"
-#: common/models.py:1682
+#: common/models.py:1689
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:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr "ESC billentyű zárja be a formot"
-#: common/models.py:1689
+#: common/models.py:1696
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:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr "Rögzített menüsor"
-#: common/models.py:1696
+#: common/models.py:1703
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:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr "Dátum formátum"
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr "Preferált dátum formátum a dátumok kijelzésekor"
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Alkatrész ütemezés"
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr "Alkatrész ütemezési információk megjelenítése"
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr "Táblázati szöveg hossz"
-#: common/models.py:1725
+#: common/models.py:1732
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:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr "Árlépcső mennyiség"
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Ár"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr "Egységár egy meghatározott mennyiség esetén"
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr "Végpont"
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr "Végpont ahol ez a webhook érkezik"
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2724,97 +2732,97 @@ msgstr "Webhook neve"
msgid "Active"
msgstr "Aktív"
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr "Aktív-e ez a webhook"
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr "Token"
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr "Token a hozzáféréshez"
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr "Titok"
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr "Megosztott titok a HMAC-hoz"
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr "Üzenet azonosító"
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr "Egyedi azonosító ehhez az üzenethez"
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr "Kiszolgáló"
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr "Kiszolgáló ahonnan ez az üzenet érkezett"
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr "Fejléc"
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr "Üzenet fejléce"
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr "Törzs"
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr "Üzenet törzse"
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr "Végpont amin ez az üzenet érkezett"
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr "Dolgozott rajta"
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr "Befejeződött a munka ezzel az üzenettel?"
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr "Id"
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr "Cím"
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr "Közzétéve"
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Szerző"
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr "Összefoglaló"
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr "Elolvasva"
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr "Elolvasva?"
@@ -2958,9 +2966,9 @@ msgid "Does this company manufacture parts?"
msgstr "Gyárt ez a cég alkatrészeket?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Pénznem"
@@ -3040,7 +3048,7 @@ msgid "Parameter value"
msgstr "Paraméter értéke"
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3096,7 +3104,7 @@ msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4433,12 +4441,12 @@ msgstr "A {part} egységára {price}-ra módosítva"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}"
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "Alkatrész ID"
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr "Alkatrész neve"
@@ -4513,11 +4521,11 @@ msgstr "Lefoglalva"
msgid "Building"
msgstr "Gyártásban"
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4557,7 +4565,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr "Alkatrész IPN"
@@ -4653,7 +4661,7 @@ msgstr "Ikon"
msgid "Icon (optional)"
msgstr "Ikon (opcionális)"
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Alkatrész kategória"
@@ -4681,7 +4689,7 @@ msgstr "Létezik már készlet tétel ilyen a sorozatszámmal"
msgid "Duplicate IPN not allowed in part settings"
msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban"
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr "Alkatrész neve"
@@ -4709,7 +4717,7 @@ msgstr "Alkatrész leírása"
msgid "Part keywords to improve visibility in search results"
msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben"
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4813,266 +4821,266 @@ msgstr "Létrehozó"
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni"
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr "Erre az alkatrészre már létezik teszt ilyen névvel"
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?"
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?"
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr "Paraméter mértékegysége"
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr "Paraméter leírása"
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr "Szülő alkatrész"
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr "Adat"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr "Alkatrész ID vagy alkatrész név"
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr "Egyedi alkatrész ID értéke"
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr "Alkatrész IPN érték"
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr "Szint"
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr "Alkatrészjegyzék szint"
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5080,105 +5088,105 @@ msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
msgid "Optional"
msgstr "Opcionális"
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr "Fogyóeszköz"
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Ez a BOM tétel fogyóeszköz (készlete nincs követve a gyártásban)"
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Többlet"
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)"
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Örökölt"
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik"
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Változatok"
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén"
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész"
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr "Alkatrész kapcsolat nem hozható létre önmagával"
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr "Már létezik duplikált alkatrész kapcsolat"
@@ -7486,32 +7494,32 @@ msgstr "Beszerzési rendelés beállításai"
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr "Pénznem beállítások"
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr "Frissítés most"
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr "Utolsó frissítés"
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr "Soha"
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr "Alapértelmezett pénznem"
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr "Árfolyamok"
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7571,7 +7579,7 @@ msgid "No part parameter templates found"
msgstr "Nincs alkatrész paraméter sablon"
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Azonosító"
@@ -9254,7 +9262,7 @@ msgstr "Szállítmány ID"
msgid "Manufacturer Part ID"
msgstr "Gyártói cikkszám"
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr "Nem találhatók hírek"
@@ -9262,19 +9270,19 @@ msgstr "Nem találhatók hírek"
msgid "Age"
msgstr "Életkor"
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr "Megjelölés olvasatlanként"
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr "Megjelölés olvasottként"
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr "Nincs olvasatlan értesítés"
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr "Az értesítések itt fognak megjelenni"
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index 59bea88574..6d296f3b1e 100644
--- a/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:50\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -204,7 +204,7 @@ msgstr "Lampiran"
msgid "Select file to attach"
msgstr "Pilih file untuk dilampirkan"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Komentar"
msgid "File comment"
msgstr "Komentar file"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Kesalahan merubah nama file"
msgid "Invalid choice"
msgstr "Pilihan tidak valid"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Nama"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Terjadi Kesalahan Server"
msgid "An error has been logged by the server."
msgstr "Sebuah kesalahan telah dicatat oleh server."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Referensi Order Produksi"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "Produksi induk dari produksi ini"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Sumber stok item"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup"
msgid "Build order has incomplete outputs"
msgstr "Order memiliki hasil produksi yang belum dilengkapi"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "Item tagihan material"
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 5730d7755e..c4372375ab 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -204,7 +204,7 @@ msgstr "Allegato"
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Commento"
msgid "File comment"
msgstr "Commento del file"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Errore nella rinominazione del file"
msgid "Invalid choice"
msgstr "Scelta non valida"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Nome"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Errore del server"
msgid "An error has been logged by the server."
msgstr "Un errore è stato loggato dal server."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Origine giacenza articolo"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "Distinta base (Bom)"
@@ -1908,7 +1908,7 @@ msgstr "Copia Template Parametri Categoria"
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr "giorni"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr "Prezzi interni"
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr "Abilita prezzi interni per gli articoli"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr "Abilita Report di Stampa"
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr "Abilita generazione di report di stampa"
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Modalità Debug"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr "Genera report in modalità debug (output HTML)"
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "Dimensioni pagina"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "Dimensione predefinita della pagina per i report PDF"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr "Abilita generazione di stampe di prova"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr "Scadenza giacenza"
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr "Abilita funzionalità di scadenza della giacenza"
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr "Vendi giacenza scaduta"
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr "Consenti la vendita di stock scaduti"
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza"
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr "Controllo della proprietà della giacenza"
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza"
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr "Abilita password dimenticata"
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr "Abilita la funzione password dimenticata nelle pagine di accesso"
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr "Abilita registrazione"
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr "SSO abilitato"
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr "Abilita SSO nelle pagine di accesso"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "Email richiesta"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr "Riempimento automatico degli utenti SSO"
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO"
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole"
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr "Mostra le categorie sottoscritte"
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr "Mostra le categorie dei componenti sottoscritti nella homepage"
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Mostra ultimi articoli"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1563
+#: common/models.py:1570
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:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1570
+#: common/models.py:1577
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:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr "Risultati Dell'Anteprima Di Ricerca"
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Prezzo"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr "Attivo"
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr "Token"
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Valuta"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr "Valore del parametro"
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "Codice Articolo"
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria Articoli"
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo"
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr "Nome articolo"
@@ -4708,7 +4716,7 @@ msgstr "Descrizione articolo"
msgid "Part keywords to improve visibility in search results"
msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr "Aggiorna Ora"
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr "Mai"
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr "Vauta di base"
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr "ID articolo produttore"
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index 265a7b0e51..e9637065b5 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -204,7 +204,7 @@ msgstr "添付ファイル"
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "コメント:"
msgid "File comment"
msgstr "ファイルコメント"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "ファイル名の変更に失敗しました"
msgid "Invalid choice"
msgstr "無効な選択です"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "お名前"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "デバッグモード"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr "メッセージ ID:"
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index cdcf1b6a8c..191a3ad746 100644
--- a/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -204,7 +204,7 @@ msgstr "첨부파일"
msgid "Select file to attach"
msgstr "첨부할 파일을 선택하세요"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "파일 이름 바꾸기 오류"
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "이름"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "디버그 모드"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "페이지 크기"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "PDF 보고서 기본 페이지 크기"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr "SSO 활성화"
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr "로그인 페이지에서 SSO 활성화"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "이메일 필요"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr "두 번 보내기"
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr "작성자"
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr "데이터"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr "지금 업데이트"
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index 074f3819ad..7266d967c9 100644
--- a/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -204,7 +204,7 @@ msgstr "Bijlage"
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Opmerking"
msgid "File comment"
msgstr "Bestand opmerking"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Fout bij hernoemen bestand"
msgid "Invalid choice"
msgstr "Ongeldige keuze"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Naam"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Serverfout"
msgid "An error has been logged by the server."
msgstr "Er is een fout gelogd door de server."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Productieorderreferentie"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Bron voorraadartikel"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid"
msgid "Build order has incomplete outputs"
msgstr "Productieorder heeft onvolledige uitvoeren"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "Stuklijstartikel"
@@ -1908,7 +1908,7 @@ msgstr "Kopiëer Categorieparameter Sjablonen"
msgid "Copy category parameter templates when creating a part"
msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr "dagen"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr "Interne Prijzen"
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr "Inschakelen van interne prijzen voor onderdelen"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr "Printen van labels Inschakelen"
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr "Printen van labels via de webinterface inschakelen"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr "Label Afbeelding DPI"
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins"
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr "Activeer Rapportages"
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr "Activeer het genereren van rapporten"
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Foutopsporingsmodus"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr "Rapporten genereren in debug modus (HTML uitvoer)"
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "Paginagrootte"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "Standaard paginagrootte voor PDF rapporten"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr "Activeer Testrapporten"
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr "Activeer het genereren van testrapporten"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr "Testrapporten Toevoegen"
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel"
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr "Batchcode Sjabloon"
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen"
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr "Verlopen Voorraad"
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr "Verlopen voorraad functionaliteit inschakelen"
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr "Verkoop Verlopen Voorraad"
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr "Verkoop verlopen voorraad toestaan"
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr "Voorraad Vervaltijd"
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen"
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr "Produceer Verlopen Voorraad"
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr "Sta productie met verlopen voorraad toe"
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr "Voorraad Eigenaar Toezicht"
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen"
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr "Productieorderreferentiepatroon"
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld"
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr "Verkooporderreferentiepatroon"
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld"
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr "Standaard Verzending Verkooporder"
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr "Aanmaken standaard verzending bij verkooporders inschakelen"
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr "Inkooporderreferentiepatroon"
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld"
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr "Wachtwoord vergeten functie inschakelen"
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's"
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr "Registratie inschakelen"
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr "SSO inschakelen"
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr "SSO inschakelen op de inlogpagina's"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "E-mailadres verplicht"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr "E-mail twee keer"
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden"
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr "Groep bij aanmelding"
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie"
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr "MFA afdwingen"
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr "Gebruikers moeten multifactor-beveiliging gebruiken."
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr "Controleer plugins bij het opstarten"
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr "Activeer URL-integratie"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig"
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Toon laatste onderdelen"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr "Toon laatste onderdelen op de startpagina"
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr "Recente Voorraadtelling"
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr "Toon recente voorraadwijzigingen"
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr "Toon recent aangepaste voorraadartikelen op de startpagina"
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr "Recente Voorraadtelling"
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr "Toon lage voorraad"
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr "Toon lage voorraad van artikelen op de startpagina"
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr "Toon lege voorraad"
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr "Toon lege voorraad van artikelen op de startpagina"
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr "Toon benodigde voorraad"
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina"
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr "Toon verlopen voorraad"
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr "Toon verlopen voorraad van artikelen op de startpagina"
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr "Toon verouderde voorraad"
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr "Toon verouderde voorraad van artikelen op de startpagina"
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr "Toon openstaande producties"
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr "Toon openstaande producties op de startpagina"
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr "Toon achterstallige productie"
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr "Toon achterstallige producties op de startpagina"
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr "Toon uitstaande PO's"
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr "Toon uitstaande PO's op de startpagina"
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr "Toon achterstallige PO's"
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr "Toon achterstallige PO's op de startpagina"
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr "Toon uitstaande SO's"
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr "Toon uitstaande SO's op de startpagina"
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr "Toon achterstallige SO's"
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr "Toon achterstallige SO's op de startpagina"
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr "Zoek Onderdelen"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr "Inactieve Onderdelen Verbergen"
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr "Zoek in Voorraad"
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr "Inkooporders Zoeken"
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr "Toon inkooporders in het zoekvenster"
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr "Inactieve Inkooporders Weglaten"
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inactieve inkooporders weglaten in het zoekvenster"
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr "Verkooporders zoeken"
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr "Toon verkooporders in het zoekvenster"
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr "Inactieve Verkooporders Weglaten"
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inactieve verkooporders weglaten in het zoekvenster"
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Prijs"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr "Actief"
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr "Token"
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr "Token voor toegang"
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr "Geheim"
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr "Bericht ID"
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr "Host"
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr "Koptekst"
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr "Koptekst van dit bericht"
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr "Berichtinhoud"
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr "Inhoud van dit bericht"
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr "Fabriceert dit bedrijf onderdelen?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Valuta"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr "Parameterwaarde"
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}"
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr "Toegewezen"
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr "De template van de parameter moet uniek zijn"
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr "Parameternaam"
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr "Parameter Eenheden"
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Parameter Template"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr "Parameterwaarde"
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr "Standaard Parameter Waarde"
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr "Inkooporder Instellingen"
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr "Onderdeelnummer Fabrikant"
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr "Leeftijd"
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index af0d9c0708..564f25d701 100644
--- a/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -132,7 +132,7 @@ msgstr "Tom serienummerstreng"
#: InvenTree/helpers.py:627
msgid "Duplicate serial"
-msgstr ""
+msgstr "Dupliserte serienr"
#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
@@ -142,7 +142,7 @@ msgstr "Ugyldig gruppeserie: {g}"
#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
-msgstr ""
+msgstr "Gruppeutvalg {g} overskrider tillatt antall ({q})"
#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
@@ -160,7 +160,7 @@ msgstr "Antall unike serienumre ({s}) må samsvare med antall ({q})"
#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
-msgstr ""
+msgstr "Fjern HTML-koder fra denne verdien"
#: InvenTree/models.py:238
msgid "Improperly formatted pattern"
@@ -180,11 +180,11 @@ msgstr "Referansefeltet kan ikke være tomt"
#: InvenTree/models.py:270
msgid "Reference must match required pattern"
-msgstr ""
+msgstr "Referansen må samsvare påkrevet mønster"
#: InvenTree/models.py:306
msgid "Reference number is too large"
-msgstr ""
+msgstr "Referansenummeret er for stort"
#: InvenTree/models.py:384
msgid "Missing file"
@@ -204,7 +204,7 @@ msgstr "Vedlegg"
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Kommenter"
msgid "File comment"
msgstr "Kommentar til fil"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Feil ved endring av navn"
msgid "Invalid choice"
msgstr "Ugyldig valg"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Navn"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -324,37 +324,37 @@ msgstr "overkategori"
#: InvenTree/models.py:580 InvenTree/models.py:581
#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
-msgstr ""
+msgstr "Sti"
#: InvenTree/models.py:682
msgid "Barcode Data"
-msgstr ""
+msgstr "Strekkode data"
#: InvenTree/models.py:683
msgid "Third party barcode data"
-msgstr ""
+msgstr "Tredjeparts strekkode-data"
#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
-msgstr ""
+msgstr "Strekkode hash"
#: InvenTree/models.py:689
msgid "Unique hash of barcode data"
-msgstr ""
+msgstr "Unik hash av strekkode-data"
#: InvenTree/models.py:734
msgid "Existing barcode found"
-msgstr ""
+msgstr "Eksisterende strekkode funnet"
#: InvenTree/models.py:787
msgid "Server Error"
-msgstr ""
+msgstr "Serverfeil"
#: InvenTree/models.py:788
msgid "An error has been logged by the server."
-msgstr ""
+msgstr "En feil har blitt logget av serveren."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Nummer må være gyldig"
@@ -411,15 +411,15 @@ msgstr "Dupliser kolonne: '{col}'"
#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
-msgstr ""
+msgstr "URL"
#: InvenTree/serializers.py:607
msgid "URL of remote image file"
-msgstr ""
+msgstr "URL-adressen til ekstern bildefil"
#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
-msgstr ""
+msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
#: InvenTree/settings.py:627
msgid "Czech"
@@ -674,7 +674,7 @@ msgstr "Build ordreutg fullført"
#: InvenTree/status_codes.py:290
msgid "Consumed by build order"
-msgstr ""
+msgstr "Antatt som byggeordre"
#: InvenTree/status_codes.py:292
msgid "Received against purchase order"
@@ -703,7 +703,7 @@ msgstr "Overde må ikke overstige 100%"
#: InvenTree/validators.py:158
msgid "Invalid value for overage"
-msgstr ""
+msgstr "ugyldig verdi for rad"
#: InvenTree/views.py:520 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
@@ -719,7 +719,7 @@ msgstr "Passordfeltene må samsvare"
#: InvenTree/views.py:563
msgid "Wrong password provided"
-msgstr ""
+msgstr "Feil passord angitt"
#: InvenTree/views.py:773 templates/navbar.html:152
msgid "System Information"
@@ -731,7 +731,7 @@ msgstr "Om InvenTree"
#: build/api.py:219
msgid "Build must be cancelled before it can be deleted"
-msgstr ""
+msgstr "Bygningen må avbrytes før den kan slettes"
#: build/models.py:105
msgid "Invalid choice for parent build"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Bygg ordrereferanse"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "Build order som denne build er tildelt til"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -944,11 +944,11 @@ msgstr "Ekstra prosjekt notater"
#: build/models.py:532
#, python-brace-format
msgid "Build order {build} has been completed"
-msgstr ""
+msgstr "Byggeordre {build} er fullført"
#: build/models.py:538
msgid "A build order has been completed"
-msgstr ""
+msgstr "Byggeordre er fullført"
#: build/models.py:717
msgid "No build output specified"
@@ -969,7 +969,7 @@ msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er mar
#: build/models.py:1181
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
-msgstr ""
+msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelige lager mengde ({a})"
#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
@@ -1018,10 +1018,10 @@ msgstr "Kilde lagervare"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1057,7 +1057,7 @@ msgstr "Antall"
#: build/models.py:1360
msgid "Stock quantity to allocate to build"
-msgstr ""
+msgstr "Lagerantall å allokere til bygging"
#: build/models.py:1368
msgid "Install into"
@@ -1070,23 +1070,23 @@ msgstr "Målets lagervare"
#: build/serializers.py:137 build/serializers.py:692
#: templates/js/translated/build.js:1224
msgid "Build Output"
-msgstr ""
+msgstr "Byggresultat"
#: build/serializers.py:149
msgid "Build output does not match the parent build"
-msgstr ""
+msgstr "Byggresultat samsvarer ikke med det overordnede bygget"
#: build/serializers.py:153
msgid "Output part does not match BuildOrder part"
-msgstr ""
+msgstr "Resultatdel samsvarer ikke med byggordre del"
#: build/serializers.py:157
msgid "This build output has already been completed"
-msgstr ""
+msgstr "Jobben er allerede fullført"
#: build/serializers.py:168
msgid "This build output is not fully allocated"
-msgstr ""
+msgstr "Denne produksjonen er ikke fullt tildelt"
#: build/serializers.py:193
msgid "Enter quantity for build output"
@@ -1101,11 +1101,11 @@ msgstr "Mengden må være større enn null"
#: build/serializers.py:214
msgid "Integer quantity required for trackable parts"
-msgstr ""
+msgstr "Heltallsverdi kreves for sporbare deler"
#: build/serializers.py:217
msgid "Integer quantity required, as the bill of materials contains trackable parts"
-msgstr ""
+msgstr "Heltallsverdi kreves, materialene inneholder sporbare deler"
#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
#: stock/serializers.py:303 templates/js/translated/order.js:1541
@@ -1127,11 +1127,11 @@ msgstr "Automatisk allokering av nødvendige elementer med tilsvarende serienumm
#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
-msgstr ""
+msgstr "Følgende serienumre finnes allerede eller er ugyldige"
#: build/serializers.py:330 build/serializers.py:399
msgid "A list of build outputs must be provided"
-msgstr ""
+msgstr "En liste over byggeresultater må oppgis"
#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
@@ -1150,7 +1150,7 @@ msgstr "Beliggenhet"
#: build/serializers.py:370
msgid "Location for completed build outputs"
-msgstr ""
+msgstr "Sted for ferdige byggeresultater"
#: build/serializers.py:376 build/templates/build/build_base.html:145
#: build/templates/build/detail.html:62 order/models.py:670
@@ -1177,43 +1177,43 @@ msgstr "Fjern tildelt lagerbeholdning"
#: build/serializers.py:453
msgid "Subtract any stock which has already been allocated to this build"
-msgstr ""
+msgstr "Trekk fra alle varer som allerede er tildelt dette bygget"
#: build/serializers.py:459
msgid "Remove Incomplete Outputs"
-msgstr ""
+msgstr "Fjern ufullstendige resultater"
#: build/serializers.py:460
msgid "Delete any build outputs which have not been completed"
-msgstr ""
+msgstr "Slett alle byggresultater som ikke er fullført"
#: build/serializers.py:488
msgid "Accept as consumed by this build order"
-msgstr ""
+msgstr "Godta som brukt av denne byggeordren"
#: build/serializers.py:489
msgid "Deallocate before completing this build order"
-msgstr ""
+msgstr "Fjern før du fullfører denne ordren"
#: build/serializers.py:512
msgid "Overallocated Stock"
-msgstr ""
+msgstr "Overtildelt lager"
#: build/serializers.py:514
msgid "How do you want to handle extra stock items assigned to the build order"
-msgstr ""
+msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt for byggeordre"
#: build/serializers.py:524
msgid "Some stock items have been overallocated"
-msgstr ""
+msgstr "Noen varer i lager har blitt overskredet"
#: build/serializers.py:529
msgid "Accept Unallocated"
-msgstr ""
+msgstr "Godta ikke tildelt"
#: build/serializers.py:530
msgid "Accept that stock items have not been fully allocated to this build order"
-msgstr ""
+msgstr "Godta at lagervarer ikke er fullt tildelt til denne byggeordren"
#: build/serializers.py:540 templates/js/translated/build.js:258
msgid "Required stock has not been fully allocated"
@@ -1221,32 +1221,32 @@ msgstr "Påkrevd varer er ikke fullt tildelt"
#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
-msgstr ""
+msgstr "Godta ufullstendig"
#: build/serializers.py:546
msgid "Accept that the required number of build outputs have not been completed"
-msgstr ""
+msgstr "Godta at antallet byggprodukter som kreves, ikke er gjennomført"
#: build/serializers.py:556 templates/js/translated/build.js:262
msgid "Required build quantity has not been completed"
-msgstr ""
+msgstr "Antall nødvendige bygg er ikke fullført"
#: build/serializers.py:565 templates/js/translated/build.js:246
msgid "Build order has incomplete outputs"
-msgstr ""
+msgstr "Bestillingen har ufullstendige resultater"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "BOM varer"
#: build/serializers.py:605
msgid "Build output"
-msgstr ""
+msgstr "Byggresultat"
#: build/serializers.py:613
msgid "Build output must point to the same build"
-msgstr ""
+msgstr "Byggresultat må peke til samme byggversjon"
#: build/serializers.py:654
msgid "bom_item.part must point to the same part as the build order"
@@ -1583,21 +1583,21 @@ msgstr ""
#: build/templates/build/detail.html:259
msgid "Delete outputs"
-msgstr ""
+msgstr "Slett resultat"
#: build/templates/build/detail.html:267
#: stock/templates/stock/location.html:228 templates/stock_table.html:27
msgid "Printing Actions"
-msgstr ""
+msgstr "Utskrifts handlinger"
#: build/templates/build/detail.html:271 build/templates/build/detail.html:272
#: stock/templates/stock/location.html:232 templates/stock_table.html:31
msgid "Print labels"
-msgstr ""
+msgstr "Skriv ut etiketter"
#: build/templates/build/detail.html:294
msgid "Completed Build Outputs"
-msgstr ""
+msgstr "Fullførte byggeresultater"
#: build/templates/build/detail.html:306 build/templates/build/sidebar.html:19
#: company/templates/company/manufacturer_part.html:151
@@ -1613,7 +1613,7 @@ msgstr "Vedlegg"
#: build/templates/build/detail.html:321
msgid "Build Notes"
-msgstr ""
+msgstr "Bygg notater"
#: build/templates/build/detail.html:504
msgid "Allocation Complete"
@@ -1625,23 +1625,23 @@ msgstr "Alle usporbar lagervarer har tildelt"
#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
-msgstr ""
+msgstr "Ny byggeordre"
#: build/templates/build/index.html:37 build/templates/build/index.html:38
msgid "Print Build Orders"
-msgstr ""
+msgstr "Skriv ut byggeordre"
#: build/templates/build/sidebar.html:5
msgid "Build Order Details"
-msgstr ""
+msgstr "Byggordre detaljer"
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
-msgstr ""
+msgstr "Ufullstendige resultater"
#: build/templates/build/sidebar.html:15
msgid "Completed Outputs"
-msgstr ""
+msgstr "Fullførte byggeresultater"
#: common/files.py:62
msgid "Unsupported file format: {ext.upper()}"
@@ -1673,7 +1673,7 @@ msgstr "Velg fil å laste opp"
#: common/forms.py:44
msgid "{name.title()} File"
-msgstr ""
+msgstr "{name.title()} Fil"
#: common/forms.py:45
#, python-brace-format
@@ -1686,7 +1686,7 @@ msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstav
#: common/models.py:453
msgid "Settings value"
-msgstr ""
+msgstr "Innstillings verdi"
#: common/models.py:494
msgid "Chosen value is not a valid option"
@@ -1698,11 +1698,11 @@ msgstr "Verdien må være en boolsk verdi"
#: common/models.py:522
msgid "Value must be an integer value"
-msgstr ""
+msgstr "Verdien må være et heltall"
#: common/models.py:567
msgid "Key string must be unique"
-msgstr ""
+msgstr "Nøkkelstreng må være unik"
#: common/models.py:751
msgid "No group"
@@ -1718,27 +1718,27 @@ msgstr "En innstilling har blitt endrett som krever en serveromstart"
#: common/models.py:812
msgid "Server Instance Name"
-msgstr ""
+msgstr "Server Instans navn"
#: common/models.py:814
msgid "String descriptor for the server instance"
-msgstr ""
+msgstr "Strengbeskrivelse for serverinstansen"
#: common/models.py:819
msgid "Use instance name"
-msgstr ""
+msgstr "Bruk forekomstnavn"
#: common/models.py:820
msgid "Use the instance name in the title-bar"
-msgstr ""
+msgstr "Bruk forekomstnavnet i tittellinjen"
#: common/models.py:826
msgid "Restrict showing `about`"
-msgstr ""
+msgstr "Begrens visning av 'about'"
#: common/models.py:827
msgid "Show the `about` modal only to superusers"
-msgstr ""
+msgstr "Vis bare `about` modal til superbrukere"
#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
@@ -1750,11 +1750,11 @@ msgstr "Internt firmanavn"
#: common/models.py:839
msgid "Base URL"
-msgstr ""
+msgstr "Base-URL"
#: common/models.py:840
msgid "Base URL for server instance"
-msgstr ""
+msgstr "Base URL for server instans"
#: common/models.py:847
msgid "Default Currency"
@@ -1774,59 +1774,59 @@ msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL"
#: common/models.py:861
msgid "Download Size Limit"
-msgstr ""
+msgstr "Nedlastingsgrense"
#: common/models.py:862
msgid "Maximum allowable download size for remote image"
-msgstr ""
+msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde"
#: common/models.py:873
msgid "Require confirm"
-msgstr ""
+msgstr "Krever bekreftelse"
#: common/models.py:874
msgid "Require explicit user confirmation for certain action."
-msgstr ""
+msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger."
#: common/models.py:880
msgid "Tree Depth"
-msgstr ""
+msgstr "Tre dybde"
#: common/models.py:881
msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
-msgstr ""
+msgstr "Standard tredybde for trevisning. Dypere nivåer kan lastes inn ved behov."
#: common/models.py:890
msgid "Automatic Backup"
-msgstr ""
+msgstr "Automatisk sikkerhetskopiering"
#: common/models.py:891
msgid "Enable automatic backup of database and media files"
-msgstr ""
+msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler"
#: common/models.py:897
msgid "Delete Old Tasks"
-msgstr ""
+msgstr "Slett gamle oppgaver"
#: common/models.py:898
msgid "Background task results will be deleted after specified number of days"
-msgstr ""
+msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager"
#: common/models.py:908
msgid "Delete Error Logs"
-msgstr ""
+msgstr "Slett feillogger"
#: common/models.py:909
msgid "Error logs will be deleted after specified number of days"
-msgstr ""
+msgstr "Feilloggene vil bli slettet etter et angitt antall dager"
#: common/models.py:919
msgid "Delete Noficiations"
-msgstr ""
+msgstr "Slett varsler"
#: common/models.py:920
msgid "User notifications will be deleted after specified number of days"
-msgstr ""
+msgstr "Brukervarsler slettes etter antall angitte dager"
#: common/models.py:930 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
@@ -1838,27 +1838,27 @@ msgstr "Aktiver skrekkodeleser støtte"
#: common/models.py:937
msgid "Barcode Input Delay"
-msgstr ""
+msgstr "Strekkode registrering forsinkelse"
#: common/models.py:938
msgid "Barcode input processing delay time"
-msgstr ""
+msgstr "Strekkode tidsforsinkelse i behandling"
#: common/models.py:948
msgid "Barcode Webcam Support"
-msgstr ""
+msgstr "Strekkode webcam støtte"
#: common/models.py:949
msgid "Allow barcode scanning via webcam in browser"
-msgstr ""
+msgstr "Tillat strekkodelesning via webkamera i nettleseren"
#: common/models.py:955
msgid "IPN Regex"
-msgstr ""
+msgstr "IPN regex"
#: common/models.py:956
msgid "Regular expression pattern for matching Part IPN"
-msgstr ""
+msgstr "Regulært uttrykksmønster for matchende del IPN"
#: common/models.py:960
msgid "Allow Duplicate IPN"
@@ -1878,23 +1878,23 @@ msgstr "Tillat å endre IPN-verdien mens du redigerer en del"
#: common/models.py:974
msgid "Copy Part BOM Data"
-msgstr ""
+msgstr "Kopier BOM data fra del"
#: common/models.py:975
msgid "Copy BOM data by default when duplicating a part"
-msgstr ""
+msgstr "Kopier BOM-data som standard når du dupliserer en del"
#: common/models.py:981
msgid "Copy Part Parameter Data"
-msgstr ""
+msgstr "Kopier del parameterdata"
#: common/models.py:982
msgid "Copy parameter data by default when duplicating a part"
-msgstr ""
+msgstr "Kopier parameterdata som standard ved duplisering av en del"
#: common/models.py:988
msgid "Copy Part Test Data"
-msgstr ""
+msgstr "Kopier del test data"
#: common/models.py:989
msgid "Copy test data by default when duplicating a part"
@@ -1902,13 +1902,13 @@ msgstr "Kopier testdata som standard ved duplisering av en del"
#: common/models.py:995
msgid "Copy Category Parameter Templates"
-msgstr ""
+msgstr "Kopier designmaler for kategoriparametere"
#: common/models.py:996
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier kategori parametermaler ved oppretting av en del"
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -1987,11 +1987,11 @@ msgstr "Vis importveiviseren i noen deler visninger"
#: common/models.py:1058
msgid "Show related parts"
-msgstr ""
+msgstr "Vis relaterte deler"
#: common/models.py:1059
msgid "Display related parts for a part"
-msgstr ""
+msgstr "Vis relaterte deler i en del"
#: common/models.py:1065
msgid "Create initial stock"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
-msgid "Enable creation of default shipment with sales orders"
-msgstr ""
-
-#: common/models.py:1254
-msgid "Edit Completed Sales Orders"
-msgstr ""
-
#: common/models.py:1255
-msgid "Allow editing of sales orders after they have been shipped or completed"
-msgstr ""
+msgid "Enable creation of default shipment with sales orders"
+msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer"
#: common/models.py:1261
-msgid "Purchase Order Reference Pattern"
-msgstr ""
+msgid "Edit Completed Sales Orders"
+msgstr "Rediger fullførte salgsordrer"
#: common/models.py:1262
-msgid "Required pattern for generating Purchase Order reference field"
-msgstr ""
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført"
#: common/models.py:1268
-msgid "Edit Completed Purchase Orders"
-msgstr ""
+msgid "Purchase Order Reference Pattern"
+msgstr "Referansemønster for innkjøpsordre"
#: common/models.py:1269
-msgid "Allow editing of purchase orders after they have been shipped or completed"
-msgstr ""
+msgid "Required pattern for generating Purchase Order reference field"
+msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre"
+
+#: common/models.py:1275
+msgid "Edit Completed Purchase Orders"
+msgstr "Rediger fullførte innkjøpsordre"
#: common/models.py:1276
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført"
+
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr "Aktiver passord glemt"
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr "Ativer funskjon for glemt passord på innloggingssidene"
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr "Aktiver registrering"
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr "Aktiver SSO"
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr "Aktiver SSO på innloggingssidene"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "E-postadresse kreves"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr "Krevt at brukeren angi e-post ved registrering"
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr "Auto-utfyll SSO brukere"
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata"
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr "E-post to ganger"
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr "Ved registrering spør brukere to ganger for e-posten"
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr "Passord to ganger"
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr "Ved registrerting, spør brukere to ganger for passord"
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
-msgstr ""
+msgstr "Gruppe på registrering"
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering"
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
-msgstr ""
+msgstr "Krev MFA"
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr "Brukere må bruke flerfaktorsikkerhet."
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
-msgstr ""
-
-#: common/models.py:1340
-msgid "Check that all plugins are installed on startup - enable in container environments"
-msgstr ""
+msgstr "Sjekk utvidelser ved oppstart"
#: common/models.py:1347
-msgid "Check plugin signatures"
-msgstr ""
+msgid "Check that all plugins are installed on startup - enable in container environments"
+msgstr "Sjekk at alle programtillegg er installert ved oppstart - aktiver i containermiljøer"
-#: common/models.py:1348
-msgid "Check and show signatures for plugins"
-msgstr ""
+#: common/models.py:1354
+msgid "Check plugin signatures"
+msgstr "Sjekk plugin signaturer"
#: common/models.py:1355
+msgid "Check and show signatures for plugins"
+msgstr "Kontroller og vis signaturer for plugins"
+
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr "Aktiver URL integrering"
-#: common/models.py:1356
-msgid "Enable plugins to add URL routes"
-msgstr ""
-
#: common/models.py:1363
+msgid "Enable plugins to add URL routes"
+msgstr "Aktiver tillegg for å legge til URL"
+
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr "Aktiver navigasjonsintegrering"
-#: common/models.py:1364
-msgid "Enable plugins to integrate into navigation"
-msgstr ""
-
#: common/models.py:1371
+msgid "Enable plugins to integrate into navigation"
+msgstr "Aktiver plugins for å integrere inn i navigasjon"
+
+#: common/models.py:1378
msgid "Enable app integration"
msgstr "Aktiver app integrasjon"
-#: common/models.py:1372
-msgid "Enable plugins to add apps"
-msgstr ""
-
#: common/models.py:1379
-msgid "Enable schedule integration"
-msgstr ""
+msgid "Enable plugins to add apps"
+msgstr "Aktiver plugins for å legge til apper"
-#: common/models.py:1380
-msgid "Enable plugins to run scheduled tasks"
-msgstr ""
+#: common/models.py:1386
+msgid "Enable schedule integration"
+msgstr "Aktiver integrering av tidsplan"
#: common/models.py:1387
+msgid "Enable plugins to run scheduled tasks"
+msgstr "Aktiver utvidelser for å kjøre planlagte oppgaver"
+
+#: common/models.py:1394
msgid "Enable event integration"
-msgstr ""
+msgstr "Aktiver hendelsesintegrering"
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
-msgstr ""
+msgstr "Aktiver plugins til å svare på interne hendelser"
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
-msgstr ""
+msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver"
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr "Vis abbonerte deler"
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr "Vis abbonerte deler på hjemmesiden"
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr "Vis abbonerte kategorier"
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr "Vis abbonerte delkatekorier på hjemmesiden"
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Vis nyeste deler"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr "Vis nyeste deler på hjemmesiden"
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr "Antall nylig deler"
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
-msgstr ""
+msgstr "Antall nylige deler som skal vises på indeks-side"
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr "Vis uvaliderte BOMs"
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr "Vis BOMs som venter validering på hjemmesiden"
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr "Vis nylige lagerendringer"
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr "Vis nylig endret lagervarer på hjemmesiden"
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr "Siste lagertelling"
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr "Antall nylige lagervarer som skal vises på indeksside"
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr "Vis lav lager"
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr "Vis lav lagervarer på hjemmesiden"
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr "Vis tom lagervarer"
-#: common/models.py:1486
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:1492
-msgid "Show needed stock"
-msgstr ""
-
#: common/models.py:1493
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
+msgid "Show depleted stock items on the homepage"
+msgstr "Vis lav lagerbeholdning på hjemmesiden"
#: common/models.py:1499
-msgid "Show expired stock"
-msgstr ""
+msgid "Show needed stock"
+msgstr "Vis nødvendig lagervare"
#: common/models.py:1500
-msgid "Show expired stock items on the homepage"
-msgstr ""
+msgid "Show stock items needed for builds on the homepage"
+msgstr "Vis lagervarer som trengs for å bygge på hjemmesiden"
#: common/models.py:1506
+msgid "Show expired stock"
+msgstr "Vis utløpt lager"
+
+#: common/models.py:1507
+msgid "Show expired stock items on the homepage"
+msgstr "Vis utløpte lagerbeholdninger på hjemmesiden"
+
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Del planlegging"
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr "Sjetong"
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr "Nøkkel for tilgang"
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr "Hemmelig"
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr "Delt hemmlighet for HMAC"
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr "Melding ID"
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr "Unik Id for denne meldingen"
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr "Vert"
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr "Tittel"
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr "Overskrift for denne meldingen"
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr "Brødtekst"
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr "Arbeidet med"
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr "Var arbeidet med denne meldingen ferdig?"
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr "Produserer dette firmaet deler?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Valuta"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index 52d0130ca4..da0c41a319 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:19\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -204,7 +204,7 @@ msgstr "Załącznik"
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Komentarz"
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Błąd zmiany nazwy pliku"
msgid "Invalid choice"
msgstr "Błędny wybór"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Nazwa"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Błąd serwera"
msgid "An error has been logged by the server."
msgstr "Błąd został zapisany w logach serwera."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "Element BOM"
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr "dni"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr "Ceny wewnętrzne"
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr "Włącz drukowanie etykiet"
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr "Włącz drukowanie etykiet z interfejsu WWW"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr "DPI etykiety"
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr "Włącz raporty"
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "Domyślna wielkość strony dla raportów PDF"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr "Włącz generowanie raportów testów"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr "Włącz opcję zapomnianego hasła"
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr "Włącz funkcję zapomnianego hasła na stronach logowania"
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr "Włącz rejestrację"
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania"
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr "Włącz SSO"
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr "Włącz SSO na stronach logowania"
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "Adres e-mail jest wymagany"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr "Autouzupełnianie użytkowników SSO"
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO"
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr "E-mail dwa razy"
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail"
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr "Hasło dwukrotnie"
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło"
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr "Grupuj przy rejestracji"
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr "Wymuś MFA"
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych."
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr "Sprawdź wtyczki przy starcie"
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr "Włącz integrację URL"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr "Włącz wtyczki, aby dodać ścieżki URL"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr "Włącz integrację z aplikacją"
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr "Włącz wtyczki, aby dodać aplikacje"
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania"
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter"
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr "Pokaż obserwowane części"
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr "Pokaż obserwowane części na stronie głównej"
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr "Pokaż obserwowane kategorie"
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr "Pokaż obserwowane kategorie części na stronie głównej"
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Pokaż najnowsze części"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr "Pokaż najnowsze części na stronie głównej"
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr "Pokaż niski stan magazynowy"
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr "Pokaż elementy o niskim stanie na stronie głównej"
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr "Pokaż wymagany stan zapasów"
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr "Szukaj części"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr "Ukryj nieaktywne części"
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr "Pokaż ilość w formularzach"
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr "Stały pasek nawigacyjny"
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr "Format daty"
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr "Preferowany format wyświetlania dat"
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Planowanie komponentów"
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Cena"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr "Punkt końcowy"
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr "Aktywny"
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr "Sekret"
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr "Współdzielony sekret dla HMAC"
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr "Id wiadomości"
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr "Unikalny identyfikator dla tej wiadomości"
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr "Host, od którego otrzymano tę wiadomość"
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr "Nagłówek"
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr "Nagłówek tej wiadomości"
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr "Zawartość"
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autor"
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Waluta"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "ID komponentu"
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr "Nazwa komponentu"
@@ -4512,11 +4520,11 @@ msgstr "Przydzielono"
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr "IPN komponentu"
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Kategoria komponentu"
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr "Nazwa komponentu"
@@ -4708,7 +4716,7 @@ msgstr "Opis komponentu"
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr "Tworzenie użytkownika"
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr "Dane"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr "Unikalny wartość ID komponentu"
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr "Wartość IPN części"
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr "Poziom"
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr "Opcjonalne"
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Dziedziczone"
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr "Ustawienia walut"
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr "Aktualizuj teraz"
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr "Ostatnia Aktualizacja"
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr "Nigdy"
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr "Waluta bazowa"
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr "Kurs wymiany"
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr "Nie znaleziono szablonów parametrów części"
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9256,7 +9264,7 @@ msgstr "ID wysyłki"
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9264,19 +9272,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po
index 8e7b1d7ba9..da25128443 100644
--- a/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:50\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -204,7 +204,7 @@ msgstr "Anexo"
msgid "Select file to attach"
msgstr "Selecione arquivo para anexar"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Comentario"
msgid "File comment"
msgstr "Comentario sobre arquivo"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Erro renomeando o arquivo"
msgid "Invalid choice"
msgstr "Escolha invalida"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Nome"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Erro de servidor"
msgid "An error has been logged by the server."
msgstr "Log de erro salvo pelo servidor."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Preicsa ser um numero valido"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
index 711d21a7bb..274d99986f 100644
--- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-07 02:58+0000\n"
+"POT-Creation-Date: 2022-11-14 22:22+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr ""
@@ -26,27 +26,27 @@ msgstr ""
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561
-#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014
-#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -123,43 +123,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -195,7 +195,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -205,18 +205,19 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr ""
@@ -229,12 +230,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758
-#: common/models.py:1759 common/models.py:1982 common/models.py:1983
-#: common/models.py:2245 common/models.py:2246 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr ""
@@ -271,44 +272,45 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr ""
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr ""
@@ -321,7 +323,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -333,7 +335,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -353,187 +355,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr ""
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr ""
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr ""
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -562,8 +564,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -647,7 +649,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -655,7 +657,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -760,15 +762,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256
-#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833
-#: templates/js/translated/order.js:4342
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -786,39 +788,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -875,8 +878,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -884,12 +887,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
+#: build/models.py:252 order/models.py:87 part/models.py:971
#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -897,7 +900,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -915,11 +918,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -930,7 +933,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -969,11 +972,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -995,9 +998,9 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
@@ -1005,8 +1008,8 @@ msgstr ""
#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1016,12 +1019,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1790
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1029,25 +1030,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
-#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1088,10 +1093,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1103,9 +1108,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1121,7 +1126,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1129,18 +1134,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1149,12 +1154,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1214,7 +1220,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1230,8 +1236,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1247,11 +1253,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1268,7 +1274,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1383,13 +1389,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858
-#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1402,29 +1408,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2804
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1450,8 +1456,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1463,14 +1469,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1528,7 +1534,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1600,8 +1606,8 @@ msgstr ""
#: order/templates/order/po_sidebar.html:9
#: order/templates/order/purchase_order_detail.html:86
#: order/templates/order/sales_order_detail.html:140
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1618,7 +1624,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1735,7 +1741,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1903,9 +1909,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1913,9 +1919,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1923,8 +1930,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1932,7 +1939,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1940,8 +1947,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1949,10 +1956,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1960,10 +1967,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1980,807 +1987,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1255
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1268
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1269
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1341
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1365
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1373
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1416 common/models.py:1751
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1697
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1698
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1704
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1705
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1719 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1720
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1726
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1727
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1791
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1798 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1799
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1959 common/models.py:2137
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1960
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1969
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1974 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1989
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1990
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1997
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1998
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2104
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2105
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2113
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2121
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2122
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2128
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2138
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2143
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2144
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2803,14 +2840,14 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
-#: order/views.py:102 part/views.py:112
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2833,298 +2870,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3138,7 +3178,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3156,7 +3196,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3179,14 +3219,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3199,12 +3239,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3220,7 +3260,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3249,7 +3289,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3263,7 +3303,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3286,7 +3326,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3314,8 +3354,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3326,12 +3365,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3346,35 +3385,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3383,7 +3423,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3404,10 +3444,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3458,13 +3498,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3499,7 +3539,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3509,47 +3549,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3559,9 +3572,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3575,19 +3588,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3689,438 +3703,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
+#: order/models.py:685 order/models.py:1241
#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4171,7 +4186,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4265,9 +4281,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4386,7 +4402,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:77
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
@@ -4417,617 +4433,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3928
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5051,7 +5294,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5087,10 +5330,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5108,12 +5347,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5161,7 +5400,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5193,7 +5432,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5209,123 +5449,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5456,15 +5676,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5473,12 +5693,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5489,100 +5703,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5590,7 +5795,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5602,15 +5808,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5618,74 +5820,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5739,40 +5949,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6087,12 +6293,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
-#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6101,12 +6307,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6124,383 +6330,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6537,7 +6795,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6545,7 +6803,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6704,7 +6962,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6714,16 +6972,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6800,11 +7052,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6977,6 +7224,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7043,30 +7298,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7107,15 +7338,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7142,11 +7373,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7256,6 +7482,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7312,6 +7571,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7374,10 +7634,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7397,7 +7653,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7909,7 +8165,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7923,7 +8179,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8076,7 +8332,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8146,10 +8402,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8159,12 +8415,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8216,118 +8472,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3942
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8372,12 +8640,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8499,20 +8767,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8520,12 +8783,12 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
@@ -8590,9 +8853,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8604,7 +8867,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8612,118 +8875,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8804,27 +9093,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8833,7 +9122,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8953,14 +9242,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8971,16 +9252,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9123,177 +9400,179 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509
-#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525
-#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
@@ -9378,7 +9657,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
@@ -9386,396 +9665,423 @@ msgstr ""
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4031
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4056
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4059
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4141
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4250
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4264
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4499
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9874,364 +10180,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10255,215 +10561,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10573,6 +10884,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10757,34 +11072,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index d47349dbbe..f22158f77e 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -204,7 +204,7 @@ msgstr "Вложения"
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Комментарий"
msgid "File comment"
msgstr "Комментарий к файлу"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Ошибка переименования файла"
msgid "Invalid choice"
msgstr "Неверный выбор"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Название"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Ссылка на заказ"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Исходный складской предмет"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "BOM Компонент"
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Режим отладки"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr "Необходимо указать EMail"
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr "Показывать детали, на которые включены уведомления"
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr "Показывать детали, на которые включены уведомления, на главной странице"
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr "Показывать категории, на которые включены уведомления"
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr "Показывать категории, на которые включены уведомления, на главной странице"
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Показывать последние детали"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr "Показывать последние детали на главной странице"
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr "Показывать непроверенные BOMы"
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr "Показывать BOMы, ожидающие проверки, на главной странице"
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr "Показывать изменившиеся складские запасы"
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице"
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr "Показывать низкие складские запасы"
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице"
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr "Показывать закончившиеся детали"
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr "Показывать закончившиеся на складе единицы хранения на главной странице"
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr "Показывать требуемые детали"
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr "Показывать требуемые для сборки единицы хранения на главной странице"
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr "Показывать просрочку"
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице"
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr "Показывать залежалые"
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr "Показывать залежалые единицы хранения на главной странице"
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr "Показывать незавершённые сборки"
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr "Показывать незавершённые сборки на главной странице"
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr "Показывать просроченные сборки"
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr "Показывать просроченные сборки на главной странице"
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Цена"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr "Является ли компания производителем деталей?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Валюта"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr "Значение параметра"
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "Артикул"
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr "Наименование детали"
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr "IPN"
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Категория детали"
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr "Наименование детали"
@@ -4708,7 +4716,7 @@ msgstr "Описание детали"
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr "Родительская деталь"
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr "Артикул или наименование детали"
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr "Значение IPN"
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr "Часть 1"
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr "Часть 2"
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr "Настройки заказа на закупку"
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr "Настройки валюты"
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr "Базовая валюта"
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr "Шаблоны параметров детали не найдены"
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Идентификатор"
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr "Код детали производителя"
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index e9ba26bd06..ef0400419c 100644
--- a/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -204,7 +204,7 @@ msgstr "Bilaga"
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Fel vid namnbyte av fil"
msgid "Invalid choice"
msgstr "Ogiltigt val"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Namn"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "Serverfel"
msgid "An error has been logged by the server."
msgstr "Ett fel har loggats av servern."
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Byggorderreferens"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Källa lagervara"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr "Interna priser"
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr "Aktivera etikettutskrift"
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr "Aktivera etikettutskrift från webbgränssnittet"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr "Etikettbild DPI"
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr "Aktivera rapporter"
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr "Aktivera generering av rapporter"
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Debugläge"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "Sidstorlek"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "Standard sidstorlek för PDF-rapporter"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr "Aktivera testrapporter"
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index 4529882514..a17f904d38 100644
--- a/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:50\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -204,7 +204,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr ""
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index 3212a2882a..9500a9a3a2 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -23,7 +23,7 @@ msgstr "API uç noktası bulunamadı"
#: InvenTree/exceptions.py:68
msgid "Error details can be found in the admin panel"
-msgstr ""
+msgstr "Hata detaylarını admin panelinde bulabilirsiniz"
#: InvenTree/fields.py:129
msgid "Enter date"
@@ -76,7 +76,7 @@ msgstr "Yeni parolayı doğrulayın"
#: InvenTree/forms.py:149
msgid "Old password"
-msgstr ""
+msgstr "Eski parola"
#: InvenTree/forms.py:178
msgid "Email (again)"
@@ -92,15 +92,15 @@ msgstr "Her seferind eaynı e-posta adresini yazmalısınız."
#: InvenTree/helpers.py:158
msgid "Connection error"
-msgstr ""
+msgstr "Bağlantı hatası"
#: InvenTree/helpers.py:162 InvenTree/helpers.py:167
msgid "Server responded with invalid status code"
-msgstr ""
+msgstr "Sunucu geçersiz durum kodu ile cevap verdi"
#: InvenTree/helpers.py:164
msgid "Exception occurred"
-msgstr ""
+msgstr "İstisna oluştu"
#: InvenTree/helpers.py:172
msgid "Server responded with invalid Content-Length value"
@@ -108,15 +108,15 @@ msgstr ""
#: InvenTree/helpers.py:175
msgid "Image size is too large"
-msgstr ""
+msgstr "Resim boyutu çok büyük"
#: InvenTree/helpers.py:187
msgid "Image download exceeded maximum size"
-msgstr ""
+msgstr "Resim indirme boyutu izin verilenden büyük"
#: InvenTree/helpers.py:192
msgid "Remote server returned empty response"
-msgstr ""
+msgstr "Uzak sunucu boş cevap döndü"
#: InvenTree/helpers.py:200
msgid "Supplied URL is not a valid image file"
@@ -204,7 +204,7 @@ msgstr "Ek"
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Yorum"
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "Dosya adı değiştirilirken hata"
msgid "Invalid choice"
msgstr "Geçersiz seçim"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "Adı"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "Kaynak stok kalemi"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı"
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr "Kategori Paremetre Sablonu Kopyala"
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr "günler"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "Hata Ayıklama Modu"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "Sayfa Boyutu"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "PDF raporlar için varsayılan sayfa boyutu"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin"
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr "Formlarda Miktarı Göster"
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Fiyat"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr "Aktif"
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr "Bu şirket üretim yapıyor mu?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "Para birimi"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr "Parametre değeri"
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr "Parça adı"
@@ -4708,7 +4716,7 @@ msgstr "Parça açıklaması"
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr "Oluşturan Kullanıcı"
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir"
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır"
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir"
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr "Parça parametre şablonu bulunamadı"
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index 744516202c..a516af3ee1 100644
--- a/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:50\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -204,7 +204,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "Bình luận"
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr ""
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr ""
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr ""
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr ""
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "Hiển thị nguyên liệu mới nhất"
-#: common/models.py:1444
+#: common/models.py:1451
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:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr ""
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr ""
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr ""
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr ""
@@ -4708,7 +4716,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr ""
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 2c9e191df0..e79b8376f9 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-14 04:59+0000\n"
-"PO-Revision-Date: 2022-11-14 14:51\n"
+"POT-Creation-Date: 2022-11-16 22:28+0000\n"
+"PO-Revision-Date: 2022-11-17 15:18\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -204,7 +204,7 @@ msgstr "附件"
msgid "Select file to attach"
msgstr "选择附件"
-#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: InvenTree/models.py:412 common/models.py:2319 company/models.py:129
#: company/models.py:281 company/models.py:516 order/models.py:85
#: order/models.py:1282 part/admin.py:25 part/models.py:835
#: part/templates/part/part_scheduling.html:11
@@ -229,10 +229,10 @@ msgstr "注释"
msgid "File comment"
msgstr "文件注释"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
-#: common/models.py:1757 common/models.py:1980 common/models.py:1981
-#: common/models.py:2243 common/models.py:2244 part/models.py:2867
-#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1763
+#: common/models.py:1764 common/models.py:1987 common/models.py:1988
+#: common/models.py:2249 common/models.py:2250 part/models.py:2873
+#: part/models.py:2893 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2669
msgid "User"
@@ -271,9 +271,9 @@ msgstr "重命名文件出错"
msgid "Invalid choice"
msgstr "选择无效"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1973
#: company/models.py:363 label/models.py:101 part/models.py:779
-#: part/models.py:3042 plugin/models.py:94 report/models.py:152
+#: part/models.py:3048 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
@@ -293,7 +293,7 @@ msgstr "名称"
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
-#: part/models.py:3051 part/templates/part/category.html:75
+#: part/models.py:3057 part/templates/part/category.html:75
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
@@ -354,7 +354,7 @@ msgstr "服务器错误"
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:58 part/models.py:3387
+#: InvenTree/serializers.py:58 part/models.py:3393
msgid "Must be a valid number"
msgstr "必须是有效数字"
@@ -762,7 +762,7 @@ msgid "Build Order Reference"
msgstr "相关生产订单"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:224 part/models.py:3297
+#: order/models.py:941 part/admin.py:224 part/models.py:3303
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
@@ -789,10 +789,10 @@ msgstr "此次生产匹配的订单"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:362 part/models.py:2700 part/models.py:2813
-#: part/models.py:2828 part/models.py:2847 part/models.py:2865
-#: part/models.py:2964 part/models.py:3085 part/models.py:3177
-#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
+#: part/models.py:362 part/models.py:2706 part/models.py:2819
+#: part/models.py:2834 part/models.py:2853 part/models.py:2871
+#: part/models.py:2970 part/models.py:3091 part/models.py:3183
+#: part/models.py:3268 part/models.py:3584 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1018,10 +1018,10 @@ msgstr "源库存项"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1788
+#: build/templates/build/detail.html:34 common/models.py:1795
#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
-#: part/forms.py:40 part/models.py:3278
+#: part/forms.py:40 part/models.py:3284
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1235,8 +1235,8 @@ msgstr "所需生产数量尚未完成"
msgid "Build order has incomplete outputs"
msgstr "生产订单有未完成的产出"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
-#: part/models.py:3570
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3420
+#: part/models.py:3576
msgid "BOM Item"
msgstr "BOM项"
@@ -1908,7 +1908,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: common/models.py:1002 part/admin.py:41 part/models.py:3093
#: report/models.py:158 templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:496
msgid "Template"
@@ -2026,696 +2026,704 @@ msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
#: common/models.py:1097
-msgid "Pricing Rebuild Time"
+msgid "Use Supplier Pricing"
msgstr ""
#: common/models.py:1098
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Pricing Rebuild Time"
+msgstr ""
+
+#: common/models.py:1105
msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1099 common/models.py:1208
+#: common/models.py:1106 common/models.py:1215
msgid "days"
msgstr "天"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Internal Prices"
msgstr "内部价格"
-#: common/models.py:1109
+#: common/models.py:1116
msgid "Enable internal prices for parts"
msgstr "启用内部商品价格"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Internal Price Override"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1123
msgid "If available, internal prices override price range calculations"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1130
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Label Image DPI"
msgstr ""
-#: common/models.py:1130
+#: common/models.py:1137
msgid "DPI resolution when generating image files to supply to label printing plugins"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1146
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1140
+#: common/models.py:1147
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1146 templates/stats.html:25
+#: common/models.py:1153 templates/stats.html:25
msgid "Debug Mode"
msgstr "调试模式"
-#: common/models.py:1147
+#: common/models.py:1154
msgid "Generate reports in debug mode (HTML output)"
msgstr "在调试模式生成报告(HTML输出)"
-#: common/models.py:1153
+#: common/models.py:1160
msgid "Page Size"
msgstr "页面大小"
-#: common/models.py:1154
+#: common/models.py:1161
msgid "Default page size for PDF reports"
msgstr "PDF 报表默认页面大小"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Enable Test Reports"
msgstr ""
-#: common/models.py:1165
+#: common/models.py:1172
msgid "Enable generation of test reports"
msgstr "启用生成测试报表"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Attach Test Reports"
msgstr ""
-#: common/models.py:1172
+#: common/models.py:1179
msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Globally Unique Serials"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1186
msgid "Serial numbers for stock items must be globally unique"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1192
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1191
+#: common/models.py:1198
msgid "Stock Expiry"
msgstr "库存到期"
-#: common/models.py:1192
+#: common/models.py:1199
msgid "Enable stock expiry functionality"
msgstr "启用库存到期功能"
-#: common/models.py:1198
+#: common/models.py:1205
msgid "Sell Expired Stock"
msgstr "销售过期库存"
-#: common/models.py:1199
+#: common/models.py:1206
msgid "Allow sale of expired stock"
msgstr "允许销售过期库存"
-#: common/models.py:1205
+#: common/models.py:1212
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1213
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1220
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1221
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1227
msgid "Stock Ownership Control"
msgstr "库存所有权控制"
-#: common/models.py:1221
+#: common/models.py:1228
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1234
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1235
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1233
+#: common/models.py:1240
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1241
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1240
+#: common/models.py:1247
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1248
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1247
+#: common/models.py:1254
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1255
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1254
+#: common/models.py:1261
msgid "Edit Completed Sales Orders"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1262
msgid "Allow editing of sales orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1261
+#: common/models.py:1268
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1269
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1268
+#: common/models.py:1275
msgid "Edit Completed Purchase Orders"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1276
msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1283
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1284
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1290
msgid "Enable registration"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1291
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1297
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1298
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1304
msgid "Email required"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1305
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1304
+#: common/models.py:1311
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1305
+#: common/models.py:1312
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1311
+#: common/models.py:1318
msgid "Mail twice"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1319
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1325
msgid "Password twice"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1326
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1332
msgid "Group on signup"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1333
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1339
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1340
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1346
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1347
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1354
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1348
+#: common/models.py:1355
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1355
+#: common/models.py:1362
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1372
+#: common/models.py:1379
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1379
+#: common/models.py:1386
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1380
+#: common/models.py:1387
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1387
+#: common/models.py:1394
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1395
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1407 common/models.py:1749
+#: common/models.py:1414 common/models.py:1756
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1429
+#: common/models.py:1436
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1430
+#: common/models.py:1437
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1436
+#: common/models.py:1443
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1437
+#: common/models.py:1444
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1443
+#: common/models.py:1450
msgid "Show latest parts"
msgstr "显示最近商品"
-#: common/models.py:1444
+#: common/models.py:1451
msgid "Show latest parts on the homepage"
msgstr "在主页上显示最近商品"
-#: common/models.py:1450
+#: common/models.py:1457
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1451
+#: common/models.py:1458
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1457
+#: common/models.py:1464
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1458
+#: common/models.py:1465
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1464
+#: common/models.py:1471
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1465
+#: common/models.py:1472
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1471
+#: common/models.py:1478
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1472
+#: common/models.py:1479
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1478
+#: common/models.py:1485
msgid "Show low stock"
msgstr ""
-#: common/models.py:1479
+#: common/models.py:1486
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1485
+#: common/models.py:1492
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1486
+#: common/models.py:1493
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1492
+#: common/models.py:1499
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1493
+#: common/models.py:1500
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1499
+#: common/models.py:1506
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1500
+#: common/models.py:1507
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1506
+#: common/models.py:1513
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1507
+#: common/models.py:1514
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1513
+#: common/models.py:1520
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1514
+#: common/models.py:1521
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1520
+#: common/models.py:1527
msgid "Show overdue builds"
msgstr "显示逾期生产"
-#: common/models.py:1521
+#: common/models.py:1528
msgid "Show overdue builds on the homepage"
msgstr "在主页上显示逾期的生产"
-#: common/models.py:1527
+#: common/models.py:1534
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1528
+#: common/models.py:1535
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1534
+#: common/models.py:1541
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1535
+#: common/models.py:1542
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1541
+#: common/models.py:1548
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1542
+#: common/models.py:1549
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1548
+#: common/models.py:1555
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1549
+#: common/models.py:1556
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1555
+#: common/models.py:1562
msgid "Show News"
msgstr ""
-#: common/models.py:1556
+#: common/models.py:1563
msgid "Show news on the homepage"
msgstr ""
-#: common/models.py:1562
+#: common/models.py:1569
msgid "Inline label display"
msgstr "内嵌标签显示"
-#: common/models.py:1563
+#: common/models.py:1570
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载"
-#: common/models.py:1569
+#: common/models.py:1576
msgid "Inline report display"
msgstr ""
-#: common/models.py:1570
+#: common/models.py:1577
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载"
-#: common/models.py:1576
+#: common/models.py:1583
msgid "Search Parts"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1583
+#: common/models.py:1590
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1584
+#: common/models.py:1591
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1590
+#: common/models.py:1597
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1591
+#: common/models.py:1598
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1597
+#: common/models.py:1604
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1598
+#: common/models.py:1605
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1604
+#: common/models.py:1611
msgid "Search Categories"
msgstr ""
-#: common/models.py:1605
+#: common/models.py:1612
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1611
+#: common/models.py:1618
msgid "Search Stock"
msgstr ""
-#: common/models.py:1612
+#: common/models.py:1619
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1618
+#: common/models.py:1625
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1619
+#: common/models.py:1626
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1625
+#: common/models.py:1632
msgid "Search Locations"
msgstr ""
-#: common/models.py:1626
+#: common/models.py:1633
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1632
+#: common/models.py:1639
msgid "Search Companies"
msgstr ""
-#: common/models.py:1633
+#: common/models.py:1640
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1639
+#: common/models.py:1646
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1640
+#: common/models.py:1647
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1646
+#: common/models.py:1653
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1647
+#: common/models.py:1654
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1653
+#: common/models.py:1660
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1654
+#: common/models.py:1661
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1660
+#: common/models.py:1667
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1661
+#: common/models.py:1668
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1667
+#: common/models.py:1674
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1668
+#: common/models.py:1675
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1674
+#: common/models.py:1681
msgid "Search Preview Results"
msgstr "搜索预览结果"
-#: common/models.py:1675
+#: common/models.py:1682
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1681
+#: common/models.py:1688
msgid "Show Quantity in Forms"
msgstr "在表格中显示数量"
-#: common/models.py:1682
+#: common/models.py:1689
msgid "Display available part quantity in some forms"
msgstr "在某些表格中显示可用的商品数量"
-#: common/models.py:1688
+#: common/models.py:1695
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1689
+#: common/models.py:1696
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1695
+#: common/models.py:1702
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1696
+#: common/models.py:1703
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1702
+#: common/models.py:1709
msgid "Date Format"
msgstr ""
-#: common/models.py:1703
+#: common/models.py:1710
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1717 part/templates/part/detail.html:41
+#: common/models.py:1724 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1718
+#: common/models.py:1725
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1724
+#: common/models.py:1731
msgid "Table String Length"
msgstr ""
-#: common/models.py:1725
+#: common/models.py:1732
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1789
+#: common/models.py:1796
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: common/models.py:1803 company/serializers.py:393 order/models.py:975
#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "价格"
-#: common/models.py:1797
+#: common/models.py:1804
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1957 common/models.py:2135
+#: common/models.py:1964 common/models.py:2142
msgid "Endpoint"
msgstr ""
-#: common/models.py:1958
+#: common/models.py:1965
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1967
+#: common/models.py:1974
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: common/models.py:1979 part/admin.py:36 part/models.py:954
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
#: templates/js/translated/table_filters.js:328
@@ -2723,97 +2731,97 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1973
+#: common/models.py:1980
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1987
+#: common/models.py:1994
msgid "Token"
msgstr "令牌"
-#: common/models.py:1988
+#: common/models.py:1995
msgid "Token for access"
msgstr ""
-#: common/models.py:1995
+#: common/models.py:2002
msgid "Secret"
msgstr ""
-#: common/models.py:1996
+#: common/models.py:2003
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2102
+#: common/models.py:2109
msgid "Message ID"
msgstr ""
-#: common/models.py:2103
+#: common/models.py:2110
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2111
+#: common/models.py:2118
msgid "Host"
msgstr ""
-#: common/models.py:2112
+#: common/models.py:2119
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2119
+#: common/models.py:2126
msgid "Header"
msgstr ""
-#: common/models.py:2120
+#: common/models.py:2127
msgid "Header of this message"
msgstr ""
-#: common/models.py:2126
+#: common/models.py:2133
msgid "Body"
msgstr ""
-#: common/models.py:2127
+#: common/models.py:2134
msgid "Body of this message"
msgstr ""
-#: common/models.py:2136
+#: common/models.py:2143
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2141
+#: common/models.py:2148
msgid "Worked on"
msgstr ""
-#: common/models.py:2142
+#: common/models.py:2149
msgid "Was the work on this message finished?"
msgstr ""
-#: common/models.py:2302
+#: common/models.py:2308
msgid "Id"
msgstr ""
-#: common/models.py:2308 templates/js/translated/news.js:34
+#: common/models.py:2314 templates/js/translated/news.js:35
msgid "Title"
msgstr ""
-#: common/models.py:2318 templates/js/translated/news.js:50
+#: common/models.py:2324 templates/js/translated/news.js:51
msgid "Published"
msgstr ""
-#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: common/models.py:2329 templates/InvenTree/settings/plugin.html:62
#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/js/translated/news.js:46
+#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
-#: common/models.py:2328 templates/js/translated/news.js:42
+#: common/models.py:2334 templates/js/translated/news.js:43
msgid "Summary"
msgstr ""
-#: common/models.py:2333
+#: common/models.py:2339
msgid "Read"
msgstr ""
-#: common/models.py:2334
+#: common/models.py:2340
msgid "Was this news item read?"
msgstr ""
@@ -2957,9 +2965,9 @@ msgid "Does this company manufacture parts?"
msgstr "该公司制造商品吗?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:106 part/models.py:2681
+#: company/templates/company/company_base.html:106 part/models.py:2687
#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
-#: templates/InvenTree/settings/pricing.html:59
+#: templates/InvenTree/settings/pricing.html:60
msgid "Currency"
msgstr "货币"
@@ -3039,7 +3047,7 @@ msgid "Parameter value"
msgstr "参数值"
#: company/models.py:377 part/admin.py:26 part/models.py:921
-#: part/models.py:3047 part/templates/part/part_base.html:286
+#: part/models.py:3053 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
@@ -3095,7 +3103,7 @@ msgid "Supplier part description"
msgstr "供应商商品描述"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
+#: part/admin.py:225 part/models.py:3306 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
@@ -4432,12 +4440,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:219 part/models.py:3187 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "商品ID"
-#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:221 part/models.py:3191 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4512,11 +4520,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2765
+#: part/admin.py:52 part/models.py:2771
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2771
+#: part/admin.py:53 part/models.py:2777
msgid "Maximum Cost"
msgstr ""
@@ -4556,7 +4564,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:220 part/models.py:3189
+#: part/admin.py:220 part/models.py:3195
msgid "Part IPN"
msgstr ""
@@ -4652,7 +4660,7 @@ msgstr ""
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3136 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
@@ -4680,7 +4688,7 @@ msgstr ""
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:778 part/models.py:3186
+#: part/models.py:778 part/models.py:3192
msgid "Part name"
msgstr "商品名称"
@@ -4708,7 +4716,7 @@ msgstr "商品描述"
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:816 part/models.py:2885 part/models.py:3129
+#: part/models.py:816 part/models.py:2891 part/models.py:3135
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
@@ -4812,266 +4820,266 @@ msgstr "新建用户"
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2688
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2693
msgid "Updated"
msgstr ""
-#: part/models.py:2688
+#: part/models.py:2694
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2705
+#: part/models.py:2711
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2706
+#: part/models.py:2712
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2711
+#: part/models.py:2717
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2712
+#: part/models.py:2718
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2717
+#: part/models.py:2723
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2718
+#: part/models.py:2724
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2723
+#: part/models.py:2729
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2724
+#: part/models.py:2730
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2729
+#: part/models.py:2735
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2730
+#: part/models.py:2736
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2735
+#: part/models.py:2741
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2736
+#: part/models.py:2742
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2741
+#: part/models.py:2747
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2742
+#: part/models.py:2748
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2747
+#: part/models.py:2753
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2748
+#: part/models.py:2754
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2753
+#: part/models.py:2759
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2754
+#: part/models.py:2760
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2759
+#: part/models.py:2765
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2760
+#: part/models.py:2766
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2766
+#: part/models.py:2772
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2772
+#: part/models.py:2778
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2777
+#: part/models.py:2783
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2784
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2783
+#: part/models.py:2789
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2784
+#: part/models.py:2790
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2789
+#: part/models.py:2795
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2796
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2801
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2796
+#: part/models.py:2802
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2938
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2949
+#: part/models.py:2955
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2969 templates/js/translated/part.js:2094
+#: part/models.py:2975 templates/js/translated/part.js:2094
#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2976
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2981
msgid "Test Description"
msgstr ""
-#: part/models.py:2976
+#: part/models.py:2982
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2981 templates/js/translated/part.js:2103
+#: part/models.py:2987 templates/js/translated/part.js:2103
#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2988
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2987 templates/js/translated/part.js:2111
+#: part/models.py:2993 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2994
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2993 templates/js/translated/part.js:2118
+#: part/models.py:2999 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2994
+#: part/models.py:3000
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3035
+#: part/models.py:3041
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3047
+#: part/models.py:3053
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3052
+#: part/models.py:3058
msgid "Parameter description"
msgstr ""
-#: part/models.py:3085
+#: part/models.py:3091
msgid "Parent Part"
msgstr ""
-#: part/models.py:3087 part/models.py:3135 part/models.py:3136
+#: part/models.py:3093 part/models.py:3141 part/models.py:3142
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Data"
msgstr ""
-#: part/models.py:3089
+#: part/models.py:3095
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3146 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:3141
+#: part/models.py:3147
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3178
+#: part/models.py:3184
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3182
+#: part/models.py:3188
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3190
+#: part/models.py:3196
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3193
+#: part/models.py:3199
msgid "Level"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3200
msgid "BOM level"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3269
msgid "Select parent part"
msgstr ""
-#: part/models.py:3271
+#: part/models.py:3277
msgid "Sub part"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3278
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3284
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: part/models.py:3288 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
@@ -5079,105 +5087,105 @@ msgstr ""
msgid "Optional"
msgstr "可选项"
-#: part/models.py:3283
+#: part/models.py:3289
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3288 templates/js/translated/bom.js:929
+#: part/models.py:3294 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3289
+#: part/models.py:3295
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3293 part/templates/part/upload_bom.html:55
+#: part/models.py:3299 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3294
+#: part/models.py:3300
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3297
+#: part/models.py:3303
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3306
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "Checksum"
msgstr ""
-#: part/models.py:3302
+#: part/models.py:3308
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: part/models.py:3312 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "继承项"
-#: part/models.py:3307
+#: part/models.py:3313
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: part/models.py:3318 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3313
+#: part/models.py:3319
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3399 stock/models.py:518
+#: part/models.py:3405 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3408 part/models.py:3410
+#: part/models.py:3414 part/models.py:3416
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3537
+#: part/models.py:3543
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3558
+#: part/models.py:3564
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3571
+#: part/models.py:3577
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3579
+#: part/models.py:3585
msgid "Substitute part"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3600
msgid "Part 1"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Part 2"
msgstr ""
-#: part/models.py:3598
+#: part/models.py:3604
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3616
+#: part/models.py:3622
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3620
+#: part/models.py:3626
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7485,32 +7493,32 @@ msgstr "采购订单设置"
msgid "Pricing Settings"
msgstr ""
-#: templates/InvenTree/settings/pricing.html:24
+#: templates/InvenTree/settings/pricing.html:25
msgid "Currency Settings"
msgstr "货币设置"
-#: templates/InvenTree/settings/pricing.html:30
+#: templates/InvenTree/settings/pricing.html:31
msgid "Update Now"
msgstr "立即更新"
-#: templates/InvenTree/settings/pricing.html:39
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:40
+#: templates/InvenTree/settings/pricing.html:44
msgid "Last Update"
msgstr "上次更新"
-#: templates/InvenTree/settings/pricing.html:43
+#: templates/InvenTree/settings/pricing.html:44
msgid "Never"
msgstr "从不"
-#: templates/InvenTree/settings/pricing.html:53
+#: templates/InvenTree/settings/pricing.html:54
msgid "Base Currency"
msgstr "基础货币"
-#: templates/InvenTree/settings/pricing.html:58
+#: templates/InvenTree/settings/pricing.html:59
msgid "Exchange Rates"
msgstr "汇率"
-#: templates/InvenTree/settings/pricing.html:60
+#: templates/InvenTree/settings/pricing.html:61
msgid "Rate"
msgstr ""
@@ -7570,7 +7578,7 @@ msgid "No part parameter templates found"
msgstr "未找到商品参数模板"
#: templates/InvenTree/settings/settings.html:338
-#: templates/js/translated/news.js:28
+#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -9253,7 +9261,7 @@ msgstr ""
msgid "Manufacturer Part ID"
msgstr "制造商商品ID"
-#: templates/js/translated/news.js:23
+#: templates/js/translated/news.js:24
msgid "No news found"
msgstr ""
@@ -9261,19 +9269,19 @@ msgstr ""
msgid "Age"
msgstr ""
-#: templates/js/translated/notification.js:204
+#: templates/js/translated/notification.js:216
msgid "Mark as unread"
msgstr ""
-#: templates/js/translated/notification.js:208
+#: templates/js/translated/notification.js:220
msgid "Mark as read"
msgstr ""
-#: templates/js/translated/notification.js:233
+#: templates/js/translated/notification.js:245
msgid "No unread notifications"
msgstr ""
-#: templates/js/translated/notification.js:275 templates/notifications.html:10
+#: templates/js/translated/notification.js:287 templates/notifications.html:10
msgid "Notifications will load here"
msgstr ""
diff --git a/InvenTree/part/migrations/0090_auto_20221115_0816.py b/InvenTree/part/migrations/0090_auto_20221115_0816.py
index 4965f36d69..42ba282bf0 100644
--- a/InvenTree/part/migrations/0090_auto_20221115_0816.py
+++ b/InvenTree/part/migrations/0090_auto_20221115_0816.py
@@ -14,6 +14,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='partcategory',
name='structural',
- field=models.BooleanField(default=False, help_text="Parts may not be directly assigned to a structural category, but may be assigned to it's child categories.", verbose_name='Structural'),
+ field=models.BooleanField(default=False, help_text="Parts may not be directly assigned to a structural category, but may be assigned to child categories.", verbose_name='Structural'),
),
]
diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py
index 6111696f71..51c9ec1461 100644
--- a/InvenTree/part/models.py
+++ b/InvenTree/part/models.py
@@ -122,7 +122,7 @@ class PartCategory(MetadataMixin, InvenTreeTree):
verbose_name=_('Structural'),
help_text=_(
'Parts may not be directly assigned to a structural category, '
- 'but may be assigned to it\'s child categories.'),
+ 'but may be assigned to child categories.'),
)
default_keywords = models.CharField(null=True, blank=True, max_length=250, verbose_name=_('Default keywords'), help_text=_('Default keywords for parts in this category'))
diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html
index e94b561302..2ce09dcbc5 100644
--- a/InvenTree/part/templates/part/part_base.html
+++ b/InvenTree/part/templates/part/part_base.html
@@ -502,8 +502,34 @@
});
});
- $("#part-image-upload").click(function() {
+ $('#part-image-delete').click(function(event) {
+ event.stopPropagation();
+ showQuestionDialog(
+ '{% trans "Remove Image" %}',
+ '{% trans "Remove associated image from this part" %}',
+ {
+ accept_text: '{% trans "Remove" %}',
+ submitClass: 'danger',
+ accept: function() {
+ inventreePut(
+ '{% url "api-part-detail" part.pk %}',
+ {
+ 'image': null,
+ },
+ {
+ method: 'PATCH',
+ success: function(data) {
+ location.reload();
+ }
+ }
+ );
+ }
+ }
+ );
+ });
+ $("#part-image-upload").click(function(event) {
+ event.stopPropagation();
constructForm(
'{% url "api-part-detail" part.pk %}',
{
@@ -576,12 +602,12 @@
});
}
- $("#part-image-select").click(function() {
- launchModalForm("{% url 'part-image-select' part.id %}",
- {
- reload: true,
- after_render: onSelectImage
- });
+ $("#part-image-select").click(function(event) {
+ event.stopPropagation();
+ launchModalForm("{% url 'part-image-select' part.id %}", {
+ reload: true,
+ after_render: onSelectImage
+ });
});
$("#part-edit").click(function() {
diff --git a/InvenTree/part/templates/part/part_thumb.html b/InvenTree/part/templates/part/part_thumb.html
index 17dac80a5c..f35646dd0f 100644
--- a/InvenTree/part/templates/part/part_thumb.html
+++ b/InvenTree/part/templates/part/part_thumb.html
@@ -13,6 +13,9 @@
{% if allow_download %}
{% endif %}
+ {% if part.image %}
+
+ {% endif %}
{% endif %}
diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py
index e5de1f54f5..9778ceaebe 100644
--- a/InvenTree/stock/api.py
+++ b/InvenTree/stock/api.py
@@ -309,6 +309,8 @@ class StockLocationList(APIDownloadMixin, ListCreateAPI):
]
filterset_fields = [
+ 'name',
+ 'structural'
]
search_fields = [
diff --git a/InvenTree/stock/migrations/0090_stocklocation_structural.py b/InvenTree/stock/migrations/0090_stocklocation_structural.py
new file mode 100644
index 0000000000..eca4617455
--- /dev/null
+++ b/InvenTree/stock/migrations/0090_stocklocation_structural.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2.16 on 2022-11-18 15:49
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('stock', '0089_alter_stockitem_purchase_price'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='stocklocation',
+ name='structural',
+ field=models.BooleanField(default=False, help_text="Stock items may not be directly located into a structural stock locations, but may be located to child locations.", verbose_name='Structural'),
+ ),
+ ]
diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py
index b83a070fff..93ee99c951 100644
--- a/InvenTree/stock/models.py
+++ b/InvenTree/stock/models.py
@@ -107,6 +107,14 @@ class StockLocation(InvenTreeBarcodeMixin, MetadataMixin, InvenTreeTree):
help_text=_('Select Owner'),
related_name='stock_locations')
+ structural = models.BooleanField(
+ default=False,
+ verbose_name=_('Structural'),
+ help_text=_(
+ 'Stock items may not be directly located into a structural stock locations, '
+ 'but may be located to child locations.'),
+ )
+
def get_location_owner(self):
"""Get the closest "owner" for this location.
@@ -139,6 +147,17 @@ class StockLocation(InvenTreeBarcodeMixin, MetadataMixin, InvenTreeTree):
return user in owner.get_related_owners(include_group=True)
+ def clean(self):
+ """Custom clean action for the StockLocation model:
+
+ - Ensure stock location can't be made structural if stock items already located to them
+ """
+ if self.pk and self.structural and self.item_count > 0:
+ raise ValidationError(
+ _("You cannot make this stock location structural because some stock items "
+ "are already located into it!"))
+ super().clean()
+
def get_absolute_url(self):
"""Return url for instance."""
return reverse('stock-location-detail', kwargs={'pk': self.id})
@@ -496,8 +515,14 @@ class StockItem(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel):
- The 'part' and 'supplier_part.part' fields cannot point to the same Part object
- The 'part' is not virtual
- The 'part' does not belong to itself
+ - The location is not structural
- Quantity must be 1 if the StockItem has a serial number
"""
+
+ if self.location is not None and self.location.structural:
+ raise ValidationError(
+ {'location': _("Stock items cannot be located into structural stock locations!")})
+
super().clean()
# Strip serial number field
diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py
index d319d387cc..9708ed15d6 100644
--- a/InvenTree/stock/serializers.py
+++ b/InvenTree/stock/serializers.py
@@ -606,6 +606,7 @@ class LocationSerializer(InvenTree.serializers.InvenTreeModelSerializer):
'items',
'owner',
'icon',
+ 'structural',
]
read_only_fields = [
diff --git a/InvenTree/stock/test_api.py b/InvenTree/stock/test_api.py
index 06cdbd04aa..412944204c 100644
--- a/InvenTree/stock/test_api.py
+++ b/InvenTree/stock/test_api.py
@@ -6,6 +6,7 @@ from datetime import datetime, timedelta
from enum import IntEnum
import django.http
+from django.core.exceptions import ValidationError
from django.urls import reverse
import tablib
@@ -225,6 +226,71 @@ class StockLocationTest(StockAPITestCase):
child.refresh_from_db()
self.assertEqual(child.parent, parent_stock_location)
+ def test_stock_location_structural(self):
+ """Test the effectiveness of structural stock locations
+
+ Make sure:
+ - Stock items cannot be created in structural locations
+ - Stock items cannot be located to structural locations
+ - Check that stock location change to structural fails if items located into it
+ """
+
+ # Create our structural stock location
+ structural_location = StockLocation.objects.create(
+ name='Structural stock location',
+ description='This is the structural stock location',
+ parent=None,
+ structural=True
+ )
+
+ stock_item_count_before = StockItem.objects.count()
+
+ # Make sure that we get an error if we try to create a stock item in the structural location
+ with self.assertRaises(ValidationError):
+ item = StockItem.objects.create(
+ batch="Stock item which shall not be created",
+ location=structural_location
+ )
+
+ # Ensure that the stock item really did not get created in the structural location
+ self.assertEqual(stock_item_count_before, StockItem.objects.count())
+
+ # Create a non-structural location for test stock location change
+ non_structural_location = StockLocation.objects.create(
+ name='Non-structural category',
+ description='This is a non-structural category',
+ parent=None,
+ structural=False
+ )
+
+ # Construct a part for stock item creation
+ part = Part.objects.create(
+ name='Part for stock item creation', description='Part for stock item creation',
+ category=None,
+ is_template=False,
+ )
+
+ # Create the test stock item located to a non-structural category
+ item = StockItem.objects.create(
+ batch="Item which will be tried to relocated to a structural location",
+ location=non_structural_location,
+ part=part
+ )
+
+ # Try to relocate it to a structural location
+ item.location = structural_location
+ with self.assertRaises(ValidationError):
+ item.save()
+
+ # Ensure that the item did not get saved to the DB
+ item.refresh_from_db()
+ self.assertEqual(item.location.pk, non_structural_location.pk)
+
+ # Try to change the non-structural location to structural while items located into it
+ non_structural_location.structural = True
+ with self.assertRaises(ValidationError):
+ non_structural_location.full_clean()
+
class StockItemListTest(StockAPITestCase):
"""Tests for the StockItem API LIST endpoint."""
diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js
index f23b24e817..316ae03c2f 100644
--- a/InvenTree/templates/js/translated/build.js
+++ b/InvenTree/templates/js/translated/build.js
@@ -60,9 +60,15 @@ function buildFormFields() {
},
take_from: {
icon: 'fa-sitemap',
+ filters: {
+ structural: false,
+ }
},
destination: {
icon: 'fa-sitemap',
+ filters: {
+ structural: false,
+ }
},
link: {
icon: 'fa-link',
@@ -524,7 +530,11 @@ function completeBuildOutputs(build_id, outputs, options={}) {
preFormContent: html,
fields: {
status: {},
- location: {},
+ location: {
+ filters: {
+ structural: false,
+ },
+ },
notes: {},
accept_incomplete_allocation: {},
},
@@ -2391,7 +2401,7 @@ function autoAllocateStockToBuild(build_id, bom_items=[], options={}) {
{% trans "Automatic Stock Allocation" %}
{% trans "Stock items will be automatically allocated to this build order, according to the provided guidelines" %}:
- - {% trans "If a location is specifed, stock will only be allocated from that location" %}
+ - {% trans "If a location is specified, stock will only be allocated from that location" %}
- {% trans "If stock is considered interchangeable, it will be allocated from the first location it is found" %}
- {% trans "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" %}
@@ -2401,6 +2411,9 @@ function autoAllocateStockToBuild(build_id, bom_items=[], options={}) {
var fields = {
location: {
value: options.location,
+ filters: {
+ structural: false,
+ }
},
exclude_location: {},
interchangeable: {
diff --git a/InvenTree/templates/js/translated/modals.js b/InvenTree/templates/js/translated/modals.js
index ebf7a6ea61..a0492bac44 100644
--- a/InvenTree/templates/js/translated/modals.js
+++ b/InvenTree/templates/js/translated/modals.js
@@ -621,11 +621,11 @@ function showQuestionDialog(title, content, options={}) {
* cancel - Functino to run if the user presses 'Cancel'
*/
- var modal = createNewModal({
- title: title,
- submitText: options.accept_text || '{% trans "Accept" %}',
- closeText: options.cancel_text || '{% trans "Cancel" %}',
- });
+ options.title = title;
+ options.submitText = options.accept_text || '{% trans "Accept" %}';
+ options.closeText = options.cancel_text || '{% trans "Cancel" %}';
+
+ var modal = createNewModal(options);
modalSetContent(modal, content);
diff --git a/InvenTree/templates/js/translated/order.js b/InvenTree/templates/js/translated/order.js
index 4e0ca3e06b..a408e4643a 100644
--- a/InvenTree/templates/js/translated/order.js
+++ b/InvenTree/templates/js/translated/order.js
@@ -888,7 +888,11 @@ function poLineItemFields(options={}) {
purchase_price: {},
purchase_price_currency: {},
target_date: {},
- destination: {},
+ destination: {
+ filters: {
+ structural: false,
+ }
+ },
notes: {},
};
@@ -1688,7 +1692,11 @@ function receivePurchaseOrderItems(order_id, line_items, options={}) {
constructForm(`/api/order/po/${order_id}/receive/`, {
method: 'POST',
fields: {
- location: {},
+ location: {
+ filters: {
+ structural: false,
+ }
+ },
},
preFormContent: html,
confirm: true,
diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js
index 1896cd7ee7..fed831e571 100644
--- a/InvenTree/templates/js/translated/part.js
+++ b/InvenTree/templates/js/translated/part.js
@@ -99,6 +99,9 @@ function partFields(options={}) {
icon: 'fa-link',
},
default_location: {
+ filters: {
+ structural: false,
+ }
},
default_supplier: {
filters: {
@@ -297,7 +300,11 @@ function categoryFields() {
},
name: {},
description: {},
- default_location: {},
+ default_location: {
+ filters: {
+ structural: false,
+ }
+ },
default_keywords: {
icon: 'fa-key',
},
diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js
index 1a6cddadcc..76d6f3ec5f 100644
--- a/InvenTree/templates/js/translated/stock.js
+++ b/InvenTree/templates/js/translated/stock.js
@@ -80,6 +80,9 @@ function serializeStockItem(pk, options={}) {
},
destination: {
icon: 'fa-sitemap',
+ filters: {
+ structural: false,
+ }
},
notes: {},
};
@@ -114,6 +117,7 @@ function stockLocationFields(options={}) {
name: {},
description: {},
owner: {},
+ structural: {},
icon: {
help_text: `{% trans "Icon (optional) - Explore all available icons on" %} Font Awesome.`,
placeholder: 'fas fa-box',
@@ -280,6 +284,9 @@ function stockItemFields(options={}) {
},
location: {
icon: 'fa-sitemap',
+ filters: {
+ structural: false,
+ },
},
quantity: {
help_text: '{% trans "Enter initial quantity for this stock item" %}',
@@ -838,6 +845,9 @@ function mergeStockItems(items, options={}) {
location: {
value: location,
icon: 'fa-sitemap',
+ filters: {
+ structural: false,
+ }
},
notes: {},
allow_mismatched_suppliers: {},
@@ -1106,7 +1116,11 @@ function adjustStock(action, items, options={}) {
var extraFields = {};
if (specifyLocation) {
- extraFields.location = {};
+ extraFields.location = {
+ filters: {
+ structural: false,
+ },
+ };
}
if (action != 'delete') {
@@ -2810,6 +2824,9 @@ function uninstallStockItem(installed_item_id, options={}) {
fields: {
location: {
icon: 'fa-sitemap',
+ filters: {
+ structural: false,
+ }
},
note: {},
},
diff --git a/README.md b/README.md
index b24c814c8f..cf4c7b2eda 100644
--- a/README.md
+++ b/README.md
@@ -132,8 +132,6 @@ There are several options to deploy InvenTree.
diff --git a/contrib/install.sh b/contrib/install.sh
index 196d0381ec..0023369cb3 100755
--- a/contrib/install.sh
+++ b/contrib/install.sh
@@ -2,16 +2,12 @@
# This script was generated by bashly 0.8.9 (https://bashly.dannyb.co)
# Modifying it manually is not recommended
-# :wrapper.bash3_bouncer
if [[ "${BASH_VERSINFO:-0}" -lt 4 ]]; then
printf "bash version 4 or higher is required\n" >&2
exit 1
fi
-# :command.master_script
-# :command.root_command
root_command() {
- # src/root_command.sh
# Settings
source_url=${args[source]}
publisher=${args[publisher]}
@@ -59,25 +55,26 @@ root_command() {
# Check if os and version is supported
get_distribution
echo "### Detected distribution: $OS $VER"
- NOT_SUPPORTED=false
+ SUPPORTED=true
case "$OS" in
Ubuntu)
if [[ $VER != "20.04" ]]; then
- NOT_SUPPORTED=true
+ SUPPORTED=false
fi
;;
- Debian | Raspbian)
+ "Debian GNU/Linux" | Raspbian)
if [[ $VER != "11" ]]; then
- NOT_SUPPORTED=true
+ SUPPORTED=false
fi
+ OS=Debian
;;
*)
echo "### Distribution not supported"
- NOT_SUPPORTED=true
+ SUPPORTED=false
;;
esac
- if [[ $NOT_SUPPORTED ]]; then
+ if [[ $SUPPORTED != "true" ]]; then
echo "This OS is currently not supported"
echo "please install manually using https://inventree.readthedocs.io/en/stable/start/install/"
echo "or check https://github.com/inventree/InvenTree/issues/3836 for packaging for your OS."
@@ -96,11 +93,10 @@ root_command() {
fi
done
- echo "### Adding key and package source"
- # Add key
- do_call "wget -qO- https://dl.packager.io/srv/$publisher/InvenTree/key | sudo apt-key add -"
- # Add packagelist
- do_call "sudo wget -O /etc/apt/sources.list.d/inventree.list https://dl.packager.io/srv/$publisher/InvenTree/$source_url/installer/${lsb_dist}/${dist_version}.repo"
+ echo "### Getting and adding key"
+ wget -qO- https://dl.packager.io/srv/$publisher/InvenTree/key | sudo apt-key add -
+ echo "### Adding package source"
+ do_call "sudo wget -O /etc/apt/sources.list.d/inventree.list https://dl.packager.io/srv/$publisher/InvenTree/$source_url/installer/${OS,,}/${VER}.repo"
echo "### Updateing package lists"
do_call "sudo apt-get update"
@@ -118,34 +114,30 @@ root_command() {
}
-# :command.version_command
version_command() {
echo "$version"
}
-# :command.usage
-install_usage() {
+install.sh_usage() {
if [[ -n $long_usage ]]; then
- printf "install - Interactive installer for InvenTree\n"
+ printf "install.sh - Interactive installer for InvenTree\n"
echo
else
- printf "install - Interactive installer for InvenTree\n"
+ printf "install.sh - Interactive installer for InvenTree\n"
echo
fi
printf "Usage:\n"
- printf " install [SOURCE] [PUBLISHER] [OPTIONS]\n"
- printf " install --help | -h\n"
- printf " install --version | -v\n"
+ printf " install.sh [SOURCE] [PUBLISHER] [OPTIONS]\n"
+ printf " install.sh --help | -h\n"
+ printf " install.sh --version | -v\n"
echo
- # :command.long_usage
if [[ -n $long_usage ]]; then
printf "Options:\n"
- # :command.usage_fixed_flags
echo " --help, -h"
printf " Show this help\n"
echo
@@ -153,34 +145,27 @@ install_usage() {
printf " Show version number\n"
echo
- # :command.usage_flags
- # :flag.usage
echo " --no-call, -n"
printf " Do not call outside APIs (only functionally needed)\n"
echo
- # :flag.usage
echo " --dry-run, -d"
printf " Dry run (do not install anything)\n"
echo
- # :command.usage_args
printf "Arguments:\n"
- # :argument.usage
echo " SOURCE"
printf " Package source that should be used\n"
printf " Allowed: stable, master, main\n"
printf " Default: stable\n"
echo
- # :argument.usage
echo " PUBLISHER"
printf " Publisher that should be used\n"
printf " Default: inventree\n"
echo
- # :command.usage_examples
printf "Examples:\n"
printf " install\n"
printf " install master --no-call\n"
@@ -190,7 +175,6 @@ install_usage() {
fi
}
-# :command.normalize_input
normalize_input() {
local arg flags
@@ -214,7 +198,7 @@ normalize_input() {
shift
done
}
-# :command.inspect_args
+
inspect_args() {
readarray -t sorted_keys < <(printf '%s\n' "${!args[@]}" | sort)
if (( ${#args[@]} )); then
@@ -234,11 +218,8 @@ inspect_args() {
fi
}
-# :command.command_functions
-
-# :command.parse_requirements
parse_requirements() {
- # :command.fixed_flags_filter
+
case "${1:-}" in
--version | -v )
version_command
@@ -247,31 +228,26 @@ parse_requirements() {
--help | -h )
long_usage=yes
- install_usage
+ install.sh_usage
exit
;;
esac
- # :command.command_filter
action="root"
- # :command.parse_requirements_while
while [[ $# -gt 0 ]]; do
key="$1"
case "$key" in
- # :flag.case
+
--no-call | -n )
- # :flag.case_no_arg
args[--no-call]=1
shift
;;
- # :flag.case
--dry-run | -d )
- # :flag.case_no_arg
args[--dry-run]=1
shift
;;
@@ -282,8 +258,7 @@ parse_requirements() {
;;
* )
- # :command.parse_requirements_case
- # :command.parse_requirements_case_simple
+
if [[ -z ${args[source]+x} ]]; then
args[source]=$1
@@ -302,11 +277,9 @@ parse_requirements() {
esac
done
- # :command.default_assignments
[[ -n ${args[source]:-} ]] || args[source]="stable"
[[ -n ${args[publisher]:-} ]] || args[publisher]="inventree"
- # :command.whitelist_filter
if [[ ! ${args[source]} =~ ^(stable|master|main)$ ]]; then
printf "%s\n" "source must be one of: stable, master, main" >&2
exit 1
@@ -314,17 +287,14 @@ parse_requirements() {
}
-# :command.initialize
initialize() {
version="2.0"
long_usage=''
set -e
- # src/initialize.sh
}
-# :command.run
run() {
declare -A args=()
declare -a other_args=()
diff --git a/contrib/installer/install b/contrib/installer/install
deleted file mode 100755
index 196d0381ec..0000000000
--- a/contrib/installer/install
+++ /dev/null
@@ -1,341 +0,0 @@
-#!/usr/bin/env bash
-# This script was generated by bashly 0.8.9 (https://bashly.dannyb.co)
-# Modifying it manually is not recommended
-
-# :wrapper.bash3_bouncer
-if [[ "${BASH_VERSINFO:-0}" -lt 4 ]]; then
- printf "bash version 4 or higher is required\n" >&2
- exit 1
-fi
-
-# :command.master_script
-# :command.root_command
-root_command() {
- # src/root_command.sh
- # Settings
- source_url=${args[source]}
- publisher=${args[publisher]}
- # Flags
- no_call=${args[--no-call]}
- dry_run=${args[--dry-run]}
-
- REQS="wget apt-transport-https"
-
- function do_call() {
- if [[ $dry_run ]]; then
- echo -e "### DRY RUN: \n$1"
- else
- $1
- fi
- }
-
- function get_distribution {
- if [ -f /etc/os-release ]; then
- . /etc/os-release
- OS=$NAME
- VER=$VERSION_ID
- elif type lsb_release >/dev/null 2>&1; then
- OS=$(lsb_release -si)
- VER=$(lsb_release -sr)
- elif [ -f /etc/lsb-release ]; then
- . /etc/lsb-release
- OS=$DISTRIB_ID
- VER=$DISTRIB_RELEASE
- elif [ -f /etc/debian_version ]; then
- OS=Debian
- VER=$(cat /etc/debian_version)
- elif [ -f /etc/SuSe-release ]; then
- OS=SEL
- elif [ -f /etc/redhat-release ]; then
- OS=RedHat
- else
- OS=$(uname -s)
- VER=$(uname -r)
- fi
- }
-
- echo "### Installer for InvenTree - source: $publisher/$source_url"
-
- # Check if os and version is supported
- get_distribution
- echo "### Detected distribution: $OS $VER"
- NOT_SUPPORTED=false
- case "$OS" in
- Ubuntu)
- if [[ $VER != "20.04" ]]; then
- NOT_SUPPORTED=true
- fi
- ;;
- Debian | Raspbian)
- if [[ $VER != "11" ]]; then
- NOT_SUPPORTED=true
- fi
- ;;
- *)
- echo "### Distribution not supported"
- NOT_SUPPORTED=true
- ;;
- esac
-
- if [[ $NOT_SUPPORTED ]]; then
- echo "This OS is currently not supported"
- echo "please install manually using https://inventree.readthedocs.io/en/stable/start/install/"
- echo "or check https://github.com/inventree/InvenTree/issues/3836 for packaging for your OS."
- echo "If you think this is a bug please file an issue at"
- echo "https://github.com/inventree/InvenTree/issues/new?template=install.yaml"
-
- exit 1
- fi
-
- echo "### Installing required packages for download"
- for pkg in $REQS; do
- if dpkg-query -W -f'${Status}' "$pkg" 2>/dev/null | grep -q "ok installed"; then
- true
- else
- do_call "sudo apt-get -yqq install $pkg"
- fi
- done
-
- echo "### Adding key and package source"
- # Add key
- do_call "wget -qO- https://dl.packager.io/srv/$publisher/InvenTree/key | sudo apt-key add -"
- # Add packagelist
- do_call "sudo wget -O /etc/apt/sources.list.d/inventree.list https://dl.packager.io/srv/$publisher/InvenTree/$source_url/installer/${lsb_dist}/${dist_version}.repo"
-
- echo "### Updateing package lists"
- do_call "sudo apt-get update"
-
- # Set up environment for install
- echo "### Setting installer args"
- if [[ $no_call ]]; then
- do_call "export NO_CALL=true"
- fi
-
- echo "### Installing InvenTree"
- do_call "sudo apt-get install inventree -y"
-
- echo "### Install done!"
-
-}
-
-# :command.version_command
-version_command() {
- echo "$version"
-}
-
-# :command.usage
-install_usage() {
- if [[ -n $long_usage ]]; then
- printf "install - Interactive installer for InvenTree\n"
- echo
-
- else
- printf "install - Interactive installer for InvenTree\n"
- echo
-
- fi
-
- printf "Usage:\n"
- printf " install [SOURCE] [PUBLISHER] [OPTIONS]\n"
- printf " install --help | -h\n"
- printf " install --version | -v\n"
- echo
-
- # :command.long_usage
- if [[ -n $long_usage ]]; then
- printf "Options:\n"
-
- # :command.usage_fixed_flags
- echo " --help, -h"
- printf " Show this help\n"
- echo
- echo " --version, -v"
- printf " Show version number\n"
- echo
-
- # :command.usage_flags
- # :flag.usage
- echo " --no-call, -n"
- printf " Do not call outside APIs (only functionally needed)\n"
- echo
-
- # :flag.usage
- echo " --dry-run, -d"
- printf " Dry run (do not install anything)\n"
- echo
-
- # :command.usage_args
- printf "Arguments:\n"
-
- # :argument.usage
- echo " SOURCE"
- printf " Package source that should be used\n"
- printf " Allowed: stable, master, main\n"
- printf " Default: stable\n"
- echo
-
- # :argument.usage
- echo " PUBLISHER"
- printf " Publisher that should be used\n"
- printf " Default: inventree\n"
- echo
-
- # :command.usage_examples
- printf "Examples:\n"
- printf " install\n"
- printf " install master --no-call\n"
- printf " install master matmair --dry-run\n"
- echo
-
- fi
-}
-
-# :command.normalize_input
-normalize_input() {
- local arg flags
-
- while [[ $# -gt 0 ]]; do
- arg="$1"
- if [[ $arg =~ ^(--[a-zA-Z0-9_\-]+)=(.+)$ ]]; then
- input+=("${BASH_REMATCH[1]}")
- input+=("${BASH_REMATCH[2]}")
- elif [[ $arg =~ ^(-[a-zA-Z0-9])=(.+)$ ]]; then
- input+=("${BASH_REMATCH[1]}")
- input+=("${BASH_REMATCH[2]}")
- elif [[ $arg =~ ^-([a-zA-Z0-9][a-zA-Z0-9]+)$ ]]; then
- flags="${BASH_REMATCH[1]}"
- for (( i=0 ; i < ${#flags} ; i++ )); do
- input+=("-${flags:i:1}")
- done
- else
- input+=("$arg")
- fi
-
- shift
- done
-}
-# :command.inspect_args
-inspect_args() {
- readarray -t sorted_keys < <(printf '%s\n' "${!args[@]}" | sort)
- if (( ${#args[@]} )); then
- echo args:
- for k in "${sorted_keys[@]}"; do echo "- \${args[$k]} = ${args[$k]}"; done
- else
- echo args: none
- fi
-
- if (( ${#other_args[@]} )); then
- echo
- echo other_args:
- echo "- \${other_args[*]} = ${other_args[*]}"
- for i in "${!other_args[@]}"; do
- echo "- \${other_args[$i]} = ${other_args[$i]}"
- done
- fi
-}
-
-# :command.command_functions
-
-# :command.parse_requirements
-parse_requirements() {
- # :command.fixed_flags_filter
- case "${1:-}" in
- --version | -v )
- version_command
- exit
- ;;
-
- --help | -h )
- long_usage=yes
- install_usage
- exit
- ;;
-
- esac
-
- # :command.command_filter
- action="root"
-
- # :command.parse_requirements_while
- while [[ $# -gt 0 ]]; do
- key="$1"
- case "$key" in
- # :flag.case
- --no-call | -n )
-
- # :flag.case_no_arg
- args[--no-call]=1
- shift
- ;;
-
- # :flag.case
- --dry-run | -d )
-
- # :flag.case_no_arg
- args[--dry-run]=1
- shift
- ;;
-
- -?* )
- printf "invalid option: %s\n" "$key" >&2
- exit 1
- ;;
-
- * )
- # :command.parse_requirements_case
- # :command.parse_requirements_case_simple
- if [[ -z ${args[source]+x} ]]; then
-
- args[source]=$1
- shift
- elif [[ -z ${args[publisher]+x} ]]; then
-
- args[publisher]=$1
- shift
- else
- printf "invalid argument: %s\n" "$key" >&2
- exit 1
- fi
-
- ;;
-
- esac
- done
-
- # :command.default_assignments
- [[ -n ${args[source]:-} ]] || args[source]="stable"
- [[ -n ${args[publisher]:-} ]] || args[publisher]="inventree"
-
- # :command.whitelist_filter
- if [[ ! ${args[source]} =~ ^(stable|master|main)$ ]]; then
- printf "%s\n" "source must be one of: stable, master, main" >&2
- exit 1
- fi
-
-}
-
-# :command.initialize
-initialize() {
- version="2.0"
- long_usage=''
- set -e
-
- # src/initialize.sh
-
-}
-
-# :command.run
-run() {
- declare -A args=()
- declare -a other_args=()
- declare -a input=()
- normalize_input "$@"
- parse_requirements "${input[@]}"
-
- if [[ $action == "root" ]]; then
- root_command
- fi
-}
-
-initialize
-run "$@"
diff --git a/contrib/installer/settings.yml b/contrib/installer/settings.yml
new file mode 100644
index 0000000000..ddd64bbe8b
--- /dev/null
+++ b/contrib/installer/settings.yml
@@ -0,0 +1,32 @@
+# All settings are optional (with their default values provided below), and
+# can also be set with an environment variable with the same name, capitalized
+# and prefixed by `BASHLY_` - for example: BASHLY_SOURCE_DIR
+#
+# When setting environment variables, you can use:
+# - "0", "false" or "no" to represent false
+# - "1", "true" or "yes" to represent true
+
+# The path containing the bashly configuration and source files
+source_dir: src
+
+# The path to use for creating the bash script
+target_dir: ..
+
+# The path to use for upgrading library files, relative to the source dir
+lib_dir: lib
+
+# When true, enable bash strict mode (set -euo pipefail)
+strict: false
+
+# When true, the generated script will use tab indentation instead of spaces
+# (every 2 leading spaces will be converted to a tab character)
+tab_indent: false
+
+# When true, the generated script will consider any argument in the form of
+# `-abc` as if it is `-a -b -c`.
+compact_short_flags: true
+
+# Set to 'production' or 'development':
+# - production generate a smaller script, without file markers
+# - development generate with file markers
+env: production
diff --git a/contrib/installer/src/bashly.yml b/contrib/installer/src/bashly.yml
index e68eeb0071..638facdf6f 100644
--- a/contrib/installer/src/bashly.yml
+++ b/contrib/installer/src/bashly.yml
@@ -1,4 +1,4 @@
-name: install
+name: install.sh
help: Interactive installer for InvenTree
version: 2.0
diff --git a/contrib/installer/src/root_command.sh b/contrib/installer/src/root_command.sh
index e47c14d920..6520f12786 100644
--- a/contrib/installer/src/root_command.sh
+++ b/contrib/installer/src/root_command.sh
@@ -45,25 +45,26 @@ echo "### Installer for InvenTree - source: $publisher/$source_url"
# Check if os and version is supported
get_distribution
echo "### Detected distribution: $OS $VER"
-NOT_SUPPORTED=false
+SUPPORTED=true
case "$OS" in
Ubuntu)
if [[ $VER != "20.04" ]]; then
- NOT_SUPPORTED=true
+ SUPPORTED=false
fi
;;
- Debian | Raspbian)
+ "Debian GNU/Linux" | Raspbian)
if [[ $VER != "11" ]]; then
- NOT_SUPPORTED=true
+ SUPPORTED=false
fi
+ OS=Debian
;;
*)
echo "### Distribution not supported"
- NOT_SUPPORTED=true
+ SUPPORTED=false
;;
esac
-if [[ $NOT_SUPPORTED ]]; then
+if [[ $SUPPORTED != "true" ]]; then
echo "This OS is currently not supported"
echo "please install manually using https://inventree.readthedocs.io/en/stable/start/install/"
echo "or check https://github.com/inventree/InvenTree/issues/3836 for packaging for your OS."
@@ -82,11 +83,10 @@ for pkg in $REQS; do
fi
done
-echo "### Adding key and package source"
-# Add key
-do_call "wget -qO- https://dl.packager.io/srv/$publisher/InvenTree/key | sudo apt-key add -"
-# Add packagelist
-do_call "sudo wget -O /etc/apt/sources.list.d/inventree.list https://dl.packager.io/srv/$publisher/InvenTree/$source_url/installer/${lsb_dist}/${dist_version}.repo"
+echo "### Getting and adding key"
+wget -qO- https://dl.packager.io/srv/$publisher/InvenTree/key | sudo apt-key add -
+echo "### Adding package source"
+do_call "sudo wget -O /etc/apt/sources.list.d/inventree.list https://dl.packager.io/srv/$publisher/InvenTree/$source_url/installer/${OS,,}/${VER}.repo"
echo "### Updateing package lists"
do_call "sudo apt-get update"
diff --git a/contrib/packager.io/functions.sh b/contrib/packager.io/functions.sh
index ab52da37af..d15871af95 100755
--- a/contrib/packager.io/functions.sh
+++ b/contrib/packager.io/functions.sh
@@ -84,7 +84,7 @@ function detect_envs() {
echo "# Setting base environment variables"
- export INVENTREE_CONFIG_FILE=${CONF_DIR}/config.yaml
+ export INVENTREE_CONFIG_FILE=${INVENTREE_CONFIG_FILE:-${CONF_DIR}/config.yaml}
if test -f "${INVENTREE_CONFIG_FILE}"; then
echo "# Using existing config file: ${INVENTREE_CONFIG_FILE}"
@@ -93,22 +93,22 @@ function detect_envs() {
pip install jc -q
# Load config
- local conf=$(cat ${INVENTREE_CONFIG_FILE} | jc --yaml)
+ local CONF=$(cat ${INVENTREE_CONFIG_FILE} | jc --yaml)
# Parse the config file
- export INVENTREE_MEDIA_ROOT=$conf | jq '.[].media_root'
- export INVENTREE_STATIC_ROOT=$conf | jq '.[].static_root'
- export INVENTREE_BACKUP_DIR=$conf | jq '.[].backup_dir'
- export INVENTREE_PLUGINS_ENABLED=$conf | jq '.[].plugins_enabled'
- export INVENTREE_PLUGIN_FILE=$conf | jq '.[].plugin_file'
- export INVENTREE_SECRET_KEY_FILE=$conf | jq '.[].secret_key_file'
+ export INVENTREE_MEDIA_ROOT=$(jq -r '.[].media_root' <<< ${CONF})
+ export INVENTREE_STATIC_ROOT=$(jq -r '.[].static_root' <<< ${CONF})
+ export INVENTREE_BACKUP_DIR=$(jq -r '.[].backup_dir' <<< ${CONF})
+ export INVENTREE_PLUGINS_ENABLED=$(jq -r '.[].plugins_enabled' <<< ${CONF})
+ export INVENTREE_PLUGIN_FILE=$(jq -r '.[].plugin_file' <<< ${CONF})
+ export INVENTREE_SECRET_KEY_FILE=$(jq -r '.[].secret_key_file' <<< ${CONF})
- export INVENTREE_DB_ENGINE=$conf | jq '.[].database.ENGINE'
- export INVENTREE_DB_NAME=$conf | jq '.[].database.NAME'
- export INVENTREE_DB_USER=$conf | jq '.[].database.USER'
- export INVENTREE_DB_PASSWORD=$conf | jq '.[].database.PASSWORD'
- export INVENTREE_DB_HOST=$conf | jq '.[].database.HOST'
- export INVENTREE_DB_PORT=$conf | jq '.[].database.PORT'
+ export INVENTREE_DB_ENGINE=$(jq -r '.[].database.ENGINE' <<< ${CONF})
+ export INVENTREE_DB_NAME=$(jq -r '.[].database.NAME' <<< ${CONF})
+ export INVENTREE_DB_USER=$(jq -r '.[].database.USER' <<< ${CONF})
+ export INVENTREE_DB_PASSWORD=$(jq -r '.[].database.PASSWORD' <<< ${CONF})
+ export INVENTREE_DB_HOST=$(jq -r '.[].database.HOST' <<< ${CONF})
+ export INVENTREE_DB_PORT=$(jq -r '.[].database.PORT' <<< ${CONF})
else
echo "# No config file found: ${INVENTREE_CONFIG_FILE}, using envs or defaults"
@@ -160,7 +160,8 @@ function create_initscripts() {
echo "# python enviroment already present - skipping"
else
echo "# Setting up python enviroment"
- sudo -u ${APP_USER} --preserve-env=$SETUP_ENVS bash -c "cd ${APP_HOME} && python3 -m venv env && pip install invoke"
+ sudo -u ${APP_USER} --preserve-env=$SETUP_ENVS bash -c "cd ${APP_HOME} && ${SETUP_PYTHON} -m venv env"
+ sudo -u ${APP_USER} --preserve-env=$SETUP_ENVS bash -c "cd ${APP_HOME} && env/bin/pip install invoke wheel"
if [ -n "${SETUP_EXTRA_PIP}" ]; then
echo "# Installing extra pip packages"
diff --git a/contrib/packager.io/postinstall.sh b/contrib/packager.io/postinstall.sh
index 62efbc3b94..54ee6166ac 100755
--- a/contrib/packager.io/postinstall.sh
+++ b/contrib/packager.io/postinstall.sh
@@ -11,7 +11,7 @@ PATH=${APP_HOME}/env/bin:${APP_HOME}/:/sbin:/bin:/usr/sbin:/usr/bin:
. ${APP_HOME}/contrib/packager.io/functions.sh
# Envs that should be passed to setup commands
-export SETUP_ENVS=PATH,APP_HOME,INVENTREE_MEDIA_ROOT,INVENTREE_STATIC_ROOT,INVENTREE_PLUGINS_ENABLED,INVENTREE_PLUGIN_FILE,INVENTREE_CONFIG_FILE,INVENTREE_SECRET_KEY_FILE,INVENTREE_DB_ENGINE,INVENTREE_DB_NAME,INVENTREE_DB_USER,INVENTREE_DB_PASSWORD,INVENTREE_DB_HOST,INVENTREE_DB_PORT,INVENTREE_ADMIN_USER,INVENTREE_ADMIN_EMAIL,INVENTREE_ADMIN_PASSWORD,SETUP_NGINX_FILE,SETUP_ADMIN_PASSWORD_FILE,SETUP_NO_CALLS,SETUP_DEBUG,SETUP_EXTRA_PIP
+export SETUP_ENVS=PATH,APP_HOME,INVENTREE_MEDIA_ROOT,INVENTREE_STATIC_ROOT,INVENTREE_BACKUP_DIR,INVENTREE_PLUGINS_ENABLED,INVENTREE_PLUGIN_FILE,INVENTREE_CONFIG_FILE,INVENTREE_SECRET_KEY_FILE,INVENTREE_DB_ENGINE,INVENTREE_DB_NAME,INVENTREE_DB_USER,INVENTREE_DB_PASSWORD,INVENTREE_DB_HOST,INVENTREE_DB_PORT,INVENTREE_ADMIN_USER,INVENTREE_ADMIN_EMAIL,INVENTREE_ADMIN_PASSWORD,SETUP_NGINX_FILE,SETUP_ADMIN_PASSWORD_FILE,SETUP_NO_CALLS,SETUP_DEBUG,SETUP_EXTRA_PIP,SETUP_PYTHON
# Get the envs
detect_local_env
@@ -23,8 +23,10 @@ export DATA_DIR=${APP_HOME}/data
export SETUP_NGINX_FILE=${SETUP_NGINX_FILE:-/etc/nginx/sites-enabled/inventree.conf}
export SETUP_ADMIN_PASSWORD_FILE=${CONF_DIR}/admin_password.txt
export SETUP_NO_CALLS=${SETUP_NO_CALLS:-false}
+export SETUP_PYTHON=${SETUP_PYTHON:-python3}
# SETUP_DEBUG can be set to get debug info
# SETUP_EXTRA_PIP can be set to install extra pip packages
+# SETUP_PYTHON can be set to use a different python version
# get base info
detect_envs